📄 main.lss
字号:
}
result_t CC1000HPLWrite(uint8_t addr, uint8_t data)
{
764: 0f 93 push r16
766: 1f 93 push r17
768: cf 93 push r28
76a: 06 2f mov r16, r22
char cnt = 0;
addr <<= 1;
76c: c8 2f mov r28, r24
76e: cc 0f add r28, r28
OSH_CLR_CC_PALE_PIN();
770: 0e 94 ba 05 call 0xb74
774: 16 e0 ldi r17, 0x06 ; 6
for (cnt = 0; cnt < 7; cnt++)
{
if (addr & 0x80) {
776: c7 ff sbrs r28, 7
778: 03 c0 rjmp .+6 ; 0x780
OSH_SET_CC_PDATA_PIN();
77a: 0e 94 b2 05 call 0xb64
77e: 02 c0 rjmp .+4 ; 0x784
}
else {
OSH_CLR_CC_PDATA_PIN();
780: 0e 94 bc 05 call 0xb78
}
OSH_CLR_CC_PCLK_PIN();
784: 0e 94 be 05 call 0xb7c
OSH_SET_CC_PCLK_PIN();
788: 0e 94 b0 05 call 0xb60
addr <<= 1;
78c: cc 0f add r28, r28
78e: 11 50 subi r17, 0x01 ; 1
790: 17 ff sbrs r17, 7
792: f1 cf rjmp .-30 ; 0x776
}
OSH_SET_CC_PDATA_PIN();
794: 0e 94 b2 05 call 0xb64
OSH_CLR_CC_PCLK_PIN();
798: 0e 94 be 05 call 0xb7c
OSH_SET_CC_PCLK_PIN();
79c: 0e 94 b0 05 call 0xb60
OSH_SET_CC_PALE_PIN();
7a0: 0e 94 b4 05 call 0xb68
7a4: 17 e0 ldi r17, 0x07 ; 7
for (cnt = 0; cnt < 8; cnt++)
{
if (data & 0x80) {
7a6: 07 ff sbrs r16, 7
7a8: 03 c0 rjmp .+6 ; 0x7b0
OSH_SET_CC_PDATA_PIN();
7aa: 0e 94 b2 05 call 0xb64
7ae: 02 c0 rjmp .+4 ; 0x7b4
}
else {
OSH_CLR_CC_PDATA_PIN();
7b0: 0e 94 bc 05 call 0xb78
}
OSH_CLR_CC_PCLK_PIN();
7b4: 0e 94 be 05 call 0xb7c
OSH_SET_CC_PCLK_PIN();
7b8: 0e 94 b0 05 call 0xb60
data <<= 1;
7bc: 00 0f add r16, r16
7be: 11 50 subi r17, 0x01 ; 1
7c0: 17 ff sbrs r17, 7
7c2: f1 cf rjmp .-30 ; 0x7a6
}
OSH_SET_CC_PALE_PIN();
7c4: 0e 94 b4 05 call 0xb68
OSH_SET_CC_PDATA_PIN();
7c8: 0e 94 b2 05 call 0xb64
OSH_SET_CC_PCLK_PIN();
7cc: 0e 94 b0 05 call 0xb60
return SUCCESS;
}
7d0: 81 e0 ldi r24, 0x01 ; 1
7d2: 90 e0 ldi r25, 0x00 ; 0
7d4: cf 91 pop r28
7d6: 1f 91 pop r17
7d8: 0f 91 pop r16
7da: 08 95 ret
000007dc <CC1000ControlStdControlStop>:
7dc: 60 e0 ldi r22, 0x00 ; 0
7de: 8b e0 ldi r24, 0x0B ; 11
7e0: 0e 94 b2 03 call 0x764
7e4: 6f e3 ldi r22, 0x3F ; 63
7e6: 80 e0 ldi r24, 0x00 ; 0
7e8: 0e 94 b2 03 call 0x764
7ec: 81 e0 ldi r24, 0x01 ; 1
7ee: 90 e0 ldi r25, 0x00 ; 0
7f0: 08 95 ret
000007f2 <CC1000ControlRxMode>:
7f2: 61 e1 ldi r22, 0x11 ; 17
7f4: 80 e0 ldi r24, 0x00 ; 0
7f6: 0e 94 b2 03 call 0x764
7fa: 60 91 c4 02 lds r22, 0x02C4
7fe: 89 e0 ldi r24, 0x09 ; 9
800: 0e 94 b2 03 call 0x764
804: 60 e0 ldi r22, 0x00 ; 0
806: 8b e0 ldi r24, 0x0B ; 11
808: 0e 94 b2 03 call 0x764
80c: 8a ef ldi r24, 0xFA ; 250
80e: 90 e0 ldi r25, 0x00 ; 0
810: 0e 94 51 07 call 0xea2
814: 81 e0 ldi r24, 0x01 ; 1
816: 90 e0 ldi r25, 0x00 ; 0
818: 08 95 ret
0000081a <CC1000ControlTxMode>:
81a: 61 ee ldi r22, 0xE1 ; 225
81c: 80 e0 ldi r24, 0x00 ; 0
81e: 0e 94 b2 03 call 0x764
822: 60 91 d8 02 lds r22, 0x02D8
826: 89 e0 ldi r24, 0x09 ; 9
828: 0e 94 b2 03 call 0x764
82c: 8a ef ldi r24, 0xFA ; 250
82e: 90 e0 ldi r25, 0x00 ; 0
830: 0e 94 51 07 call 0xea2
834: 60 91 c6 02 lds r22, 0x02C6
838: 8b e0 ldi r24, 0x0B ; 11
83a: 0e 94 b2 03 call 0x764
83e: 84 e1 ldi r24, 0x14 ; 20
840: 90 e0 ldi r25, 0x00 ; 0
842: 0e 94 51 07 call 0xea2
846: 81 e0 ldi r24, 0x01 ; 1
848: 90 e0 ldi r25, 0x00 ; 0
84a: 08 95 ret
0000084c <CC1000ControlStdControlStart>:
84c: 6b e3 ldi r22, 0x3B ; 59
84e: 80 e0 ldi r24, 0x00 ; 0
850: 0e 94 b2 03 call 0x764
854: 80 ed ldi r24, 0xD0 ; 208
856: 97 e0 ldi r25, 0x07 ; 7
858: 0e 94 51 07 call 0xea2
85c: 81 e0 ldi r24, 0x01 ; 1
85e: 90 e0 ldi r25, 0x00 ; 0
860: 08 95 ret
00000862 <CC1000ControlBIASOn>:
862: 69 e3 ldi r22, 0x39 ; 57
864: 80 e0 ldi r24, 0x00 ; 0
866: 0e 94 b2 03 call 0x764
86a: 88 ec ldi r24, 0xC8 ; 200
86c: 90 e0 ldi r25, 0x00 ; 0
86e: 0e 94 51 07 call 0xea2
872: 81 e0 ldi r24, 0x01 ; 1
874: 90 e0 ldi r25, 0x00 ; 0
876: 08 95 ret
00000878 <CC1000ControlCC1000SetModem>:
878: 60 91 ca 02 lds r22, 0x02CA
87c: 8f e0 ldi r24, 0x0F ; 15
87e: 0e 94 b2 03 call 0x764
882: 60 91 cb 02 lds r22, 0x02CB
886: 80 e1 ldi r24, 0x10 ; 16
888: 0e 94 b2 03 call 0x764
88c: 60 91 cc 02 lds r22, 0x02CC
890: 81 e1 ldi r24, 0x11 ; 17
892: 0e 94 b2 03 call 0x764
896: 08 95 ret
00000898 <CC1000ControlSelectLock>:
898: 82 95 swap r24
89a: 80 7f andi r24, 0xF0 ; 240
89c: 80 93 c8 02 sts 0x02C8, r24
8a0: 68 2f mov r22, r24
8a2: 8d e0 ldi r24, 0x0D ; 13
8a4: 0e 94 b2 03 call 0x764
8a8: 99 27 eor r25, r25
8aa: 08 95 ret
000008ac <CC1000HPLRead>:
uint8_t CC1000HPLRead(uint8_t addr)
{
8ac: 0f 93 push r16
8ae: 1f 93 push r17
8b0: cf 93 push r28
8b2: df 93 push r29
int cnt;
uint8_t din;
uint8_t data = 0;
8b4: 00 e0 ldi r16, 0x00 ; 0
addr <<= 1;
8b6: 18 2f mov r17, r24
8b8: 11 0f add r17, r17
OSH_CLR_CC_PALE_PIN();
8ba: 0e 94 ba 05 call 0xb74
8be: c6 e0 ldi r28, 0x06 ; 6
8c0: d0 e0 ldi r29, 0x00 ; 0
for (cnt = 0; cnt < 7; cnt++)
{
if (addr & 0x80) {
8c2: 17 ff sbrs r17, 7
8c4: 03 c0 rjmp .+6 ; 0x8cc
OSH_SET_CC_PDATA_PIN();
8c6: 0e 94 b2 05 call 0xb64
8ca: 02 c0 rjmp .+4 ; 0x8d0
}
else {
OSH_CLR_CC_PDATA_PIN();
8cc: 0e 94 bc 05 call 0xb78
}
OSH_CLR_CC_PCLK_PIN();
8d0: 0e 94 be 05 call 0xb7c
OSH_SET_CC_PCLK_PIN();
8d4: 0e 94 b0 05 call 0xb60
addr <<= 1;
8d8: 11 0f add r17, r17
8da: 21 97 sbiw r28, 0x01 ; 1
8dc: d7 ff sbrs r29, 7
8de: f1 cf rjmp .-30 ; 0x8c2
8e0: c7 e0 ldi r28, 0x07 ; 7
8e2: d0 e0 ldi r29, 0x00 ; 0
}
OSH_CLR_CC_PDATA_PIN();
8e4: 0e 94 bc 05 call 0xb78
OSH_CLR_CC_PCLK_PIN();
8e8: 0e 94 be 05 call 0xb7c
OSH_SET_CC_PCLK_PIN();
8ec: 0e 94 b0 05 call 0xb60
OSH_MAKE_CC_PDATA_INPUT();
8f0: 0e 94 c0 05 call 0xb80
OSH_SET_CC_PALE_PIN();
8f4: 0e 94 b4 05 call 0xb68
for (cnt = 7; cnt >= 0; cnt--)
{
OSH_CLR_CC_PCLK_PIN();
8f8: 0e 94 be 05 call 0xb7c
din = OSH_READ_CC_PDATA_PIN();
8fc: 0e 94 c2 05 call 0xb84
900: 20 2f mov r18, r16
902: 33 27 eor r19, r19
904: 21 97 sbiw r28, 0x01 ; 1
if (din) {
906: 88 23 and r24, r24
908: 29 f0 breq .+10 ; 0x914
data = (data << 1) | 0x01;
90a: 22 0f add r18, r18
90c: 33 1f adc r19, r19
90e: 02 2f mov r16, r18
910: 01 60 ori r16, 0x01 ; 1
912: 02 c0 rjmp .+4 ; 0x918
}
else {
data = (data << 1) & 0xfe;
914: 02 2f mov r16, r18
916: 00 0f add r16, r16
}
OSH_SET_CC_PCLK_PIN();
918: 0e 94 b0 05 call 0xb60
91c: d7 ff sbrs r29, 7
91e: ec cf rjmp .-40 ; 0x8f8
}
OSH_SET_CC_PALE_PIN();
920: 0e 94 b4 05 call 0xb68
OSH_MAKE_CC_PDATA_OUTPUT();
924: 0e 94 63 05 call 0xac6
OSH_SET_CC_PDATA_PIN();
928: 0e 94 b2 05 call 0xb64
return data;
}
92c: 80 2f mov r24, r16
92e: 99 27 eor r25, r25
930: df 91 pop r29
932: cf 91 pop r28
934: 1f 91 pop r17
936: 0f 91 pop r16
938: 08 95 ret
0000093a <CC1000ControlChipconCal>:
93a: cf 93 push r28
93c: df 93 push r29
93e: 60 e0 ldi r22, 0x00 ; 0
940: 8b e0 ldi r24, 0x0B ; 11
942: 0e 94 b2 03 call 0x764
946: 6f e3 ldi r22, 0x3F ; 63
948: 82 e4 ldi r24, 0x42 ; 66
94a: 0e 94 b2 03 call 0x764
94e: 61 e1 ldi r22, 0x11 ; 17
950: 80 e0 ldi r24, 0x00 ; 0
952: 0e 94 b2 03 call 0x764
956: 66 ea ldi r22, 0xA6 ; 166
958: 8e e0 ldi r24, 0x0E ; 14
95a: 0e 94 b2 03 call 0x764
95e: 8e e0 ldi r24, 0x0E ; 14
960: 0e 94 56 04 call 0x8ac
964: 83 ff sbrs r24, 3
966: fb cf rjmp .-10 ; 0x95e
968: 66 e2 ldi r22, 0x26 ; 38
96a: 8e e0 ldi r24, 0x0E ; 14
96c: 0e 94 b2 03 call 0x764
970: 61 ee ldi r22, 0xE1 ; 225
972: 80 e0 ldi r24, 0x00 ; 0
974: 0e 94 b2 03 call 0x764
978: 60 91 d8 02 lds r22, 0x02D8
97c: 89 e0 ldi r24, 0x09 ; 9
97e: 0e 94 b2 03 call 0x764
982: 60 e0 ldi r22, 0x00 ; 0
984: 8b e0 ldi r24, 0x0B ; 11
986: 0e 94 b2 03 call 0x764
98a: 66 ea ldi r22, 0xA6 ; 166
98c: 8e e0 ldi r24, 0x0E ; 14
98e: 0e 94 b2 03 call 0x764
992: 8e e0 ldi r24, 0x0E ; 14
994: 0e 94 56 04 call 0x8ac
998: 99 27 eor r25, r25
99a: f3 e0 ldi r31, 0x03 ; 3
99c: 96 95 lsr r25
99e: 87 95 ror r24
9a0: fa 95 dec r31
9a2: e1 f7 brne .-8 ; 0x99c
9a4: c1 e0 ldi r28, 0x01 ; 1
9a6: d0 e0 ldi r29, 0x00 ; 0
9a8: 8c 23 and r24, r28
9aa: 9d 23 and r25, r29
9ac: 8c 17 cp r24, r28
9ae: 9d 07 cpc r25, r29
9b0: 81 f7 brne .-32 ; 0x992
9b2: 66 e2 ldi r22, 0x26 ; 38
9b4: 8e e0 ldi r24, 0x0E ; 14
9b6: 0e 94 b2 03 call 0x764
9ba: ce 01 movw r24, r28
9bc: df 91 pop r29
9be: cf 91 pop r28
9c0: 08 95 ret
000009c2 <CC1000ControlCC1000SetFreq>:
9c2: 0f 93 push r16
9c4: 1f 93 push r17
9c6: cf 93 push r28
9c8: c1 e0 ldi r28, 0x01 ; 1
9ca: 0c eb ldi r16, 0xBC ; 188
9cc: 12 e0 ldi r17, 0x02 ; 2
9ce: f8 01 movw r30, r16
9d0: 61 91 ld r22, Z+
9d2: 8f 01 movw r16, r30
9d4: 8c 2f mov r24, r28
9d6: 0e 94 b2 03 call 0x764
9da: cf 5f subi r28, 0xFF ; 255
9dc: cd 30 cpi r28, 0x0D ; 13
9de: b8 f3 brcs .-18 ; 0x9ce
9e0: 60 91 cd 02 lds r22, 0x02CD
9e4: 82 e1 ldi r24, 0x12 ; 18
9e6: 0e 94 b2 03 call 0x764
9ea: 0e 94 9d 04 call 0x93a
9ee: cf 91 pop r28
9f0: 1f 91 pop r17
9f2: 0f 91 pop r16
9f4: 08 95 ret
000009f6 <CC1000ControlTuneManual>:
9f6: ef 92 push r14
9f8: ff 92 push r15
9fa: 0f 93 push r16
9fc: 1f 93 push r17
9fe: dc 01 movw r26, r24
a00: cb 01 movw r24, r22
a02: bc 01 movw r22, r24
a04: cd 01 movw r24, r26
a06: 0e 94 ee 01 call 0x3dc
a0a: 7b 01 movw r14, r22
a0c: 8c 01 movw r16, r24
a0e: 0e 94 e1 04 call 0x9c2
a12: c8 01 movw r24, r16
a14: b7 01 movw r22, r14
a16: 1f 91 pop r17
a18: 0f 91 pop r16
a1a: ff 90 pop r15
a1c: ef 90 pop r14
a1e: 08 95 ret
00000a20 <CC1000ControlStdControlInit>:
a20: 1f 93 push r17
a22: 0e 94 a1 03 call 0x742
a26: 6a e3 ldi r22, 0x3A ; 58
a28: 80 e0 ldi r24, 0x00 ; 0
a2a: 0e 94 b2 03 call 0x764
a2e: 6b e3 ldi r22, 0x3B ; 59
a30: 80 e0 ldi r24, 0x00 ; 0
a32: 0e 94 b2 03 call 0x764
a36: 80 ed ldi r24, 0xD0 ; 208
a38: 97 e0 ldi r25, 0x07 ; 7
a3a: 0e 94 51 07 call 0xea2
a3e: 80 91 ba 02 lds r24, 0x02BA
a42: 80 93 c6 02 sts 0x02C6, r24
a46: 68 2f mov r22, r24
a48: 8b e0 ldi r24, 0x0B ; 11
a4a: 0e 94 b2 03 call 0x764
a4e: 80 e9 ldi r24, 0x90 ; 144
a50: 80 93 c8 02 sts 0x02C8, r24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -