📄 cc1100.lis
字号:
0050 L27:
0050 .dbline 0 ; func end
0050 0895 ret
0052 .dbend
0052 .dbfunc e spiReadReg _spiReadReg fc
0052 ; x -> R20
0052 ; addr -> R16
.even
0052 _spiReadReg::
0052 00D0 rcall push_gset1
0054 .dbline -1
0054 .dbline 93
0054 ;
0054 ;
0054 ; }
0054 ;
0054 ; BYTE spiReadReg(BYTE addr)
0054 ; {
0054 .dbline 95
0054 ; UINT8 x;
0054 ; SPI_ON();
0054 2A98 cbi 0x5,2
0056 L29:
0056 .dbline 97
0056 L30:
0056 .dbline 97
0056 ;
0056 ; while((PORT_SPI & 1<<MISO));
0056 2C99 sbic 0x5,4
0058 FECF rjmp L29
005A .dbline 98
005A ; NOP();
005A 0000 nop
005C L32:
005C .dbline 99
005C .dbline 99
005C 802F mov R24,R16
005E 8068 ori R24,128
0060 8EBD out 0x2e,R24
0062 .dbline 99
0062 L38:
0062 .dbline 99
0062 L39:
0062 .dbline 99
0062 2DB4 in R2,0x2d
0064 27FE sbrs R2,7
0066 FDCF rjmp L38
0068 .dbline 99
0068 L36:
0068 .dbline 99
0068 .dbline 99
0068 L33:
0068 .dbline 99
0068 ; SPI_TX(addr | READ_SINGLE);
0068 L41:
0068 .dbline 100
0068 .dbline 100
0068 2224 clr R2
006A 2EBC out 0x2e,R2
006C .dbline 100
006C L47:
006C .dbline 100
006C L48:
006C .dbline 100
006C 2DB4 in R2,0x2d
006E 27FE sbrs R2,7
0070 FDCF rjmp L47
0072 .dbline 100
0072 L45:
0072 .dbline 100
0072 .dbline 100
0072 4EB5 in R20,0x2e
0074 .dbline 100
0074 L42:
0074 .dbline 100
0074 ; SPI_RX(x);
0074 .dbline 102
0074 ;
0074 ; SPI_OFF();
0074 2A9A sbi 0x5,2
0076 .dbline 103
0076 ; return x;
0076 042F mov R16,R20
0078 .dbline -2
0078 L28:
0078 00D0 rcall pop_gset1
007A .dbline 0 ; func end
007A 0895 ret
007C .dbsym r x 20 c
007C .dbsym r addr 16 c
007C .dbend
007C .dbfunc e spiReadStatus _spiReadStatus fc
007C ; x -> R20
007C ; addr -> R16
.even
007C _spiReadStatus::
007C 00D0 rcall push_gset1
007E .dbline -1
007E .dbline 107
007E ; }
007E ;
007E ; BYTE spiReadStatus(BYTE addr)
007E ; {
007E .dbline 110
007E ; UINT8 x;
007E ;
007E ; SPI_ON();
007E 2A98 cbi 0x5,2
0080 .dbline 111
0080 ; NOP();
0080 0000 nop
0082 L51:
0082 .dbline 112
0082 L52:
0082 .dbline 112
0082 ; while(PORT_SPI&1<<MISO);
0082 2C99 sbic 0x5,4
0084 FECF rjmp L51
0086 .dbline 113
0086 ; NOP();
0086 0000 nop
0088 L54:
0088 .dbline 114
0088 .dbline 114
0088 802F mov R24,R16
008A 806C ori R24,192
008C 8EBD out 0x2e,R24
008E .dbline 114
008E L60:
008E .dbline 114
008E L61:
008E .dbline 114
008E 2DB4 in R2,0x2d
0090 27FE sbrs R2,7
0092 FDCF rjmp L60
0094 .dbline 114
0094 L58:
0094 .dbline 114
0094 .dbline 114
0094 L55:
0094 .dbline 114
0094 ; SPI_TX(addr | READ_BURST);
0094 L63:
0094 .dbline 115
0094 .dbline 115
0094 2224 clr R2
0096 2EBC out 0x2e,R2
0098 .dbline 115
0098 L69:
0098 .dbline 115
0098 L70:
0098 .dbline 115
0098 2DB4 in R2,0x2d
009A 27FE sbrs R2,7
009C FDCF rjmp L69
009E .dbline 115
009E L67:
009E .dbline 115
009E .dbline 115
009E 4EB5 in R20,0x2e
00A0 .dbline 115
00A0 L64:
00A0 .dbline 115
00A0 ; SPI_RX(x);
00A0 .dbline 116
00A0 ; NOP();
00A0 0000 nop
00A2 .dbline 117
00A2 ; SPI_OFF();
00A2 2A9A sbi 0x5,2
00A4 .dbline 118
00A4 ; return x;
00A4 042F mov R16,R20
00A6 .dbline -2
00A6 L50:
00A6 00D0 rcall pop_gset1
00A8 .dbline 0 ; func end
00A8 0895 ret
00AA .dbsym r x 20 c
00AA .dbsym r addr 16 c
00AA .dbend
00AA .dbfunc e spiReadBurstReg _spiReadBurstReg fV
00AA ; i -> R20
00AA ; count -> R22
00AA ; buffer -> R18,R19
00AA ; addr -> R16
.even
00AA _spiReadBurstReg::
00AA 00D0 rcall push_gset2
00AC 6C81 ldd R22,y+4
00AE .dbline -1
00AE .dbline 122
00AE ; }
00AE ;
00AE ; void spiReadBurstReg(BYTE addr, BYTE *buffer, BYTE count)
00AE ; {
00AE .dbline 124
00AE ; UINT8 i;
00AE ; SPI_ON();
00AE 2A98 cbi 0x5,2
00B0 L73:
00B0 .dbline 125
00B0 L74:
00B0 .dbline 125
00B0 ; while(PORT_SPI&1<<MISO);
00B0 2C99 sbic 0x5,4
00B2 FECF rjmp L73
00B4 .dbline 126
00B4 ; NOP();
00B4 0000 nop
00B6 L76:
00B6 .dbline 127
00B6 .dbline 127
00B6 802F mov R24,R16
00B8 806C ori R24,192
00BA 8EBD out 0x2e,R24
00BC .dbline 127
00BC L82:
00BC .dbline 127
00BC L83:
00BC .dbline 127
00BC 2DB4 in R2,0x2d
00BE 27FE sbrs R2,7
00C0 FDCF rjmp L82
00C2 .dbline 127
00C2 L80:
00C2 .dbline 127
00C2 .dbline 127
00C2 L77:
00C2 .dbline 127
00C2 ; SPI_TX(addr | READ_BURST);
00C2 .dbline 128
00C2 ; for (i = 0; i < count; i++)
00C2 4427 clr R20
00C4 0CC0 rjmp L88
00C6 L85:
00C6 .dbline 129
00C6 ; {
00C6 L89:
00C6 .dbline 130
00C6 .dbline 130
00C6 2224 clr R2
00C8 2EBC out 0x2e,R2
00CA .dbline 130
00CA L95:
00CA .dbline 130
00CA L96:
00CA .dbline 130
00CA 2DB4 in R2,0x2d
00CC 27FE sbrs R2,7
00CE FDCF rjmp L95
00D0 .dbline 130
00D0 L93:
00D0 .dbline 130
00D0 .dbline 130
00D0 E42F mov R30,R20
00D2 FF27 clr R31
00D4 E20F add R30,R18
00D6 F31F adc R31,R19
00D8 2EB4 in R2,0x2e
00DA 2082 std z+0,R2
00DC .dbline 130
00DC L90:
00DC .dbline 130
00DC .dbline 131
00DC L86:
00DC .dbline 128
00DC 4395 inc R20
00DE L88:
00DE .dbline 128
00DE 4617 cp R20,R22
00E0 90F3 brlo L85
00E2 .dbline 132
00E2 ; SPI_RX(buffer[i]);
00E2 ; }
00E2 ; NOP();
00E2 0000 nop
00E4 .dbline 133
00E4 ; SPI_OFF();
00E4 2A9A sbi 0x5,2
00E6 .dbline -2
00E6 L72:
00E6 00D0 rcall pop_gset2
00E8 .dbline 0 ; func end
00E8 0895 ret
00EA .dbsym r i 20 c
00EA .dbsym r count 22 c
00EA .dbsym r buffer 18 pc
00EA .dbsym r addr 16 c
00EA .dbend
00EA .dbfunc e spiStrobe _spiStrobe fV
00EA ; strobe -> R16
.even
00EA _spiStrobe::
00EA .dbline -1
00EA .dbline 138
00EA ; //buffer[i] = 0; // add a terminal char
00EA ; }
00EA ;
00EA ; void spiStrobe(BYTE strobe)
00EA ; {
00EA .dbline 140
00EA ;
00EA ; SPI_ON();
00EA 2A98 cbi 0x5,2
00EC .dbline 141
00EC ; NOP();
00EC 0000 nop
00EE L99:
00EE .dbline 142
00EE L100:
00EE .dbline 142
00EE ; while(PORT_SPI&1<<MISO);
00EE 2C99 sbic 0x5,4
00F0 FECF rjmp L99
00F2 .dbline 143
00F2 ; NOP();
00F2 0000 nop
00F4 L102:
00F4 .dbline 144
00F4 .dbline 144
00F4 0EBD out 0x2e,R16
00F6 .dbline 144
00F6 L108:
00F6 .dbline 144
00F6 L109:
00F6 .dbline 144
00F6 2DB4 in R2,0x2d
00F8 27FE sbrs R2,7
00FA FDCF rjmp L108
00FC .dbline 144
00FC L106:
00FC .dbline 144
00FC .dbline 144
00FC L103:
00FC .dbline 144
00FC ; SPI_TX(strobe);
00FC .dbline 145
00FC ; NOP();
00FC 0000 nop
00FE .dbline 146
00FE ; SPI_OFF();
00FE 2A9A sbi 0x5,2
0100 .dbline -2
0100 L98:
0100 .dbline 0 ; func end
0100 0895 ret
0102 .dbsym r strobe 16 c
0102 .dbend
0102 .dbfunc e spiWriteReg _spiWriteReg fV
0102 ; value -> R18
0102 ; addr -> R16
.even
0102 _spiWriteReg::
0102 .dbline -1
0102 .dbline 150
0102 ; }
0102 ;
0102 ; void spiWriteReg(BYTE addr, BYTE value)
0102 ; {
0102 .dbline 151
0102 ; SPI_ON();
0102 2A98 cbi 0x5,2
0104 .dbline 152
0104 ; NOP();
0104 0000 nop
0106 L112:
0106 .dbline 153
0106 L113:
0106 .dbline 153
0106 ; while(PORT_SPI&1<<MISO);
0106 2C99 sbic 0x5,4
0108 FECF rjmp L112
010A .dbline 154
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -