📄 main.s
字号:
sts _PtComTx+1,R25
sts _PtComTx,R24
.dbline 55
movw R30,R24
ld R2,Z+
sts _PtComTx+1,R31
sts _PtComTx,R30
out 0xc,R2
xjmp L173
L172:
.dbline 56
wdr
L173:
.dbline 56
clr R2
lds R3,_ComTxCount
cp R2,R3
brlo L172
.dbline 57
L168:
.dbline 59
lds R24,_nrfTxBuf+1
andi R24,32
cpi R24,32
brne L175
.dbline 60
.dbline 62
ldi R24,4
sts _Led2FlashTimes,R24
.dbline 63
L175:
.dbline 65
lds R24,_nrfTxBuf+1
andi R24,16
cpi R24,16
brne L178
.dbline 66
.dbline 67
ldi R24,2
sts _Led2FlashTimes,R24
.dbline 68
L178:
.dbline 70
lds R24,_nrfTxBuf+1
andi R24,1
cpi R24,1
brne L181
.dbline 71
.dbline 72
ldi R24,1
sts _Led2FlashTimes,R24
.dbline 73
L181:
.dbline 76
ldi R24,39
sts _nrfTxBuf,R24
.dbline 77
ldi R24,112
sts _nrfTxBuf+1,R24
.dbline 78
ldi R24,2
std y+0,R24
ldi R18,<_nrfTxBuf
ldi R19,>_nrfTxBuf
ldi R16,<_nrfTxBuf
ldi R17,>_nrfTxBuf
xcall _SPI_SendData
.dbline 81
clr R2
sts _bBusy,R2
.dbline -2
.dbline 82
L163:
adiw R28,1
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbend
.dbfunc e ComDeal _ComDeal fV
; i -> R20
.even
_ComDeal::
xcall push_gset1
sbiw R28,1
.dbline -1
.dbline 86
.dbline 88
ldi R24,85
sts _bBusy,R24
.dbline 89
clr R20
xjmp L189
L186:
.dbline 90
.dbline 91
ldi R24,<_ComRxBuf
ldi R25,>_ComRxBuf
mov R30,R20
clr R31
add R30,R24
adc R31,R25
ldd R2,z+0
ldi R24,<_nrfTxDataBuf
ldi R25,>_nrfTxDataBuf
mov R30,R20
clr R31
add R30,R24
adc R31,R25
std z+0,R2
.dbline 92
L187:
.dbline 89
inc R20
L189:
.dbline 89
lds R2,_ComRxCount
cp R20,R2
brlo L186
.dbline 93
clr R2
sts _ComRxCount,R2
.dbline 94
sts _bCom2Spi,R2
.dbline 96
lds R24,_nrfTxDataBuf
cpi R24,32
brsh L190
.dbline 97
.dbline 98
cpi R20,1
brne L192
.dbline 99
.dbline 100
cpi R24,10
breq L197
cpi R24,11
breq L197
cpi R24,16
brne L194
L197:
.dbline 101
ldi R20,6
xjmp L195
L194:
.dbline 102
ldi R20,2
L195:
.dbline 103
std y+0,R20
ldi R18,<_ComTxBuf
ldi R19,>_ComTxBuf
ldi R16,<_nrfTxDataBuf
ldi R17,>_nrfTxDataBuf
xcall _SPI_SendData
.dbline 104
mov R24,R20
subi R24,1
sts _ComTxCount,R24
.dbline 105
ldi R24,<_ComTxBuf+1
ldi R25,>_ComTxBuf+1
sts _PtComTx+1,R25
sts _PtComTx,R24
.dbline 106
lds R2,_nrfTxDataBuf
out 0xc,R2
xjmp L200
L199:
.dbline 107
wdr
L200:
.dbline 107
clr R2
lds R3,_ComTxCount
cp R2,R3
brlo L199
.dbline 108
xjmp L191
L192:
.dbline 110
.dbline 111
clr R2
sts _bBusy,R2
.dbline 112
xjmp L185
X0:
.dbline 114
L190:
.dbline 115
lds R24,_nrfTxDataBuf
cpi R24,64
brlo X1
xjmp L202
X1:
.dbline 116
.dbline 117
cpi R24,42
brne L204
cpi R20,6
brne L204
.dbline 118
.dbline 119
lds R18,_nrfTxDataBuf+1
ldi R16,<_II2C_RxPipe0Addr
ldi R17,>_II2C_RxPipe0Addr
xcall _EEPROMwrite
.dbline 119
wdr
.dbline 120
lds R18,_nrfTxDataBuf+2
ldi R16,<_II2C_RxPipe0Addr
ldi R17,>_II2C_RxPipe0Addr
subi R16,255 ; offset = 1
sbci R17,255
xcall _EEPROMwrite
.dbline 120
wdr
.dbline 121
lds R18,_nrfTxDataBuf+3
ldi R16,<_II2C_RxPipe0Addr
ldi R17,>_II2C_RxPipe0Addr
subi R16,254 ; offset = 2
sbci R17,255
xcall _EEPROMwrite
.dbline 121
wdr
.dbline 122
lds R18,_nrfTxDataBuf+4
ldi R16,<_II2C_RxPipe0Addr
ldi R17,>_II2C_RxPipe0Addr
subi R16,253 ; offset = 3
sbci R17,255
xcall _EEPROMwrite
.dbline 122
wdr
.dbline 123
lds R18,_nrfTxDataBuf+5
ldi R16,<_II2C_RxPipe0Addr
ldi R17,>_II2C_RxPipe0Addr
subi R16,252 ; offset = 4
sbci R17,255
xcall _EEPROMwrite
.dbline 123
wdr
.dbline 124
ldi R20,6
.dbline 125
xjmp L205
L204:
.dbline 126
lds R24,_nrfTxDataBuf
cpi R24,43
brne L211
cpi R20,6
brne L211
.dbline 127
.dbline 128
lds R18,_nrfTxDataBuf+1
ldi R16,<_II2C_RxPipe1Addr
ldi R17,>_II2C_RxPipe1Addr
xcall _EEPROMwrite
.dbline 128
wdr
.dbline 129
lds R18,_nrfTxDataBuf+2
ldi R16,<_II2C_RxPipe1Addr
ldi R17,>_II2C_RxPipe1Addr
subi R16,255 ; offset = 1
sbci R17,255
xcall _EEPROMwrite
.dbline 129
wdr
.dbline 130
lds R18,_nrfTxDataBuf+3
ldi R16,<_II2C_RxPipe1Addr
ldi R17,>_II2C_RxPipe1Addr
subi R16,254 ; offset = 2
sbci R17,255
xcall _EEPROMwrite
.dbline 130
wdr
.dbline 131
lds R18,_nrfTxDataBuf+4
ldi R16,<_II2C_RxPipe1Addr
ldi R17,>_II2C_RxPipe1Addr
subi R16,253 ; offset = 3
sbci R17,255
xcall _EEPROMwrite
.dbline 131
wdr
.dbline 132
lds R18,_nrfTxDataBuf+5
ldi R16,<_II2C_RxPipe1Addr
ldi R17,>_II2C_RxPipe1Addr
subi R16,252 ; offset = 4
sbci R17,255
xcall _EEPROMwrite
.dbline 132
wdr
.dbline 133
ldi R20,6
.dbline 134
xjmp L212
L211:
.dbline 135
lds R24,_nrfTxBuf
cpi R24,48
brne L218
cpi R20,6
brne L218
.dbline 136
.dbline 137
lds R18,_nrfTxDataBuf+1
ldi R16,<_II2C_TxPipeAddr
ldi R17,>_II2C_TxPipeAddr
xcall _EEPROMwrite
.dbline 137
wdr
.dbline 138
lds R18,_nrfTxDataBuf+2
ldi R16,<_II2C_TxPipeAddr
ldi R17,>_II2C_TxPipeAddr
subi R16,255 ; offset = 1
sbci R17,255
xcall _EEPROMwrite
.dbline 138
wdr
.dbline 139
lds R18,_nrfTxDataBuf+3
ldi R16,<_II2C_TxPipeAddr
ldi R17,>_II2C_TxPipeAddr
subi R16,254 ; offset = 2
sbci R17,255
xcall _EEPROMwrite
.dbline 139
wdr
.dbline 140
lds R18,_nrfTxDataBuf+4
ldi R16,<_II2C_TxPipeAddr
ldi R17,>_II2C_TxPipeAddr
subi R16,253 ; offset = 3
sbci R17,255
xcall _EEPROMwrite
.dbline 140
wdr
.dbline 141
lds R18,_nrfTxDataBuf+5
ldi R16,<_II2C_TxPipeAddr
ldi R17,>_II2C_TxPipeAddr
subi R16,252 ; offset = 4
sbci R17,255
xcall _EEPROMwrite
.dbline 141
wdr
.dbline 142
ldi R20,6
.dbline 143
xjmp L219
L218:
.dbline 144
cpi R20,2
brne L225
.dbline 145
.dbline 146
lds R18,_nrfTxDataBuf+1
lds R2,_nrfTxBuf
clr R3
ldi R16,<_II2C_UserConfig
ldi R17,>_II2C_UserConfig
add R16,R2
adc R17,R3
subi R16,32
sbci R17,0
xcall _EEPROMwrite
.dbline 146
wdr
.dbline 147
xjmp L226
L225:
.dbline 149
.dbline 150
clr R2
sts _bBusy,R2
.dbline 151
xjmp L185
L226:
L219:
L212:
L205:
.dbline 153
std y+0,R20
ldi R18,<_ComTxBuf
ldi R19,>_ComTxBuf
ldi R16,<_nrfTxDataBuf
ldi R17,>_nrfTxDataBuf
xcall _SPI_SendData
.dbline 154
mov R24,R20
subi R24,1
sts _ComTxCount,R24
.dbline 155
ldi R24,<_ComTxBuf+1
ldi R25,>_ComTxBuf+1
sts _PtComTx+1,R25
sts _PtComTx,R24
.dbline 156
lds R2,_nrfTxDataBuf
out 0xc,R2
xjmp L230
L229:
.dbline 157
wdr
L230:
.dbline 157
clr R2
lds R3,_ComTxCount
cp R2,R3
brlo L229
.dbline 158
xjmp L203
L202:
.dbline 159
lds R24,_nrfTxDataBuf
cpi R24,97
brne L232
ldi R20,1
ldi R24,1
tst R24
breq L232
.dbline 160
.dbline 161
ldi R24,33
std y+0,R24
ldi R18,<_nrfRxBuf
ldi R19,>_nrfRxBuf
ldi R16,<_nrfTxDataBuf
ldi R17,>_nrfTxDataBuf
xcall _SPI_SendData
.dbline 163
ldi R24,31
sts _ComTxCount,R24
.dbline 164
ldi R24,<_nrfRxBuf
ldi R25,>_nrfRxBuf
sts _PtComTx+1,R25
sts _PtComTx,R24
.dbline 165
movw R30,R24
ld R2,Z+
sts _PtComTx+1,R31
sts _PtComTx,R30
out 0xc,R2
xjmp L235
L234:
.dbline 166
wdr
L235:
.dbline 166
clr R2
lds R3,_ComTxCount
cp R2,R3
brlo L234
.dbline 167
xjmp L233
L232:
.dbline 168
lds R24,_nrfTxDataBuf
cpi R24,160
brne L237
ldi R24,1
cp R24,R20
brsh L237
.dbline 169
.dbline 171
mov R16,R20
xcall _nRF_SendData
.dbline 172
xjmp L238
L237:
.dbline 173
cpi R20,1
brne L239
lds R24,_nrfTxDataBuf
cpi R24,225
breq L242
cpi R24,226
breq L242
cpi R24,227
brne L239
L242:
.dbline 177
.dbline 178
ldi R24,1
std y+0,R24
ldi R18,<_ComTxBuf
ldi R19,>_ComTxBuf
ldi R16,<_nrfTxDataBuf
ldi R17,>_nrfTxDataBuf
xcall _SPI_SendData
.dbline 179
clr R2
sts _ComTxCount,R2
.dbline 180
lds R2,_nrfTxDataBuf
out 0xc,R2
xjmp L244
L243:
.dbline 181
wdr
L244:
.dbline 181
clr R2
lds R3,_ComTxCount
cp R2,R3
brlo L243
.dbline 182
L239:
L238:
L233:
L203:
L191:
.dbline 184
clr R2
sts _bBusy,R2
.dbline -2
.dbline 185
L185:
adiw R28,1
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbend
.dbfile D:\mywork\无绳电话\NRF2401\nRF24L01_atmega16\nrf24l01\main.c
.dbfunc e main _main fV
; i -> <dead>
.even
_main::
.dbline -1
.dbline 16
.dbline 18
xcall _init_devices
.dbline 20
xcall _SPI_MasterInit
.dbline 23
clr R2
sts _bSignal2Hz,R2
.dbline 24
sts _bTest,R2
.dbline 25
sts _ComRxCount,R2
.dbline 26
cbi 0x18,3
.dbline 27
xcall _nrf24l01_init
xjmp L248
L247:
.dbline 29
.dbline 31
lds R24,_bKeyGetted
cpi R24,85
brne L250
.dbline 32
.dbline 33
lds R20,_KeyValue
clr R21
cpi R20,5
ldi R30,0
cpc R21,R30
breq L256
cpi R20,6
ldi R30,0
cpc R21,R30
breq L257
cpi R20,7
ldi R30,0
cpc R21,R30
breq L258
cpi R20,8
ldi R30,0
cpc R21,R30
breq L259
cpi R20,13
ldi R30,0
cpc R21,R30
breq L260
cpi R20,14
ldi R30,0
cpc R21,R30
breq L255
xjmp L253
X2:
.dbline 34
L255:
.dbline 35
xcall _nrf24l01_init
.dbline 35
.dbline 35
xjmp L253
L256:
.dbline 36
xcall _ReadRegisters
.dbline 36
xjmp L253
L257:
.dbline 37
xcall _SendTest
.dbline 37
xjmp L253
L258:
.dbline 38
xcall _SetRxMode
.dbline 38
xjmp L253
L259:
.dbline 39
xcall _SetTxMode
.dbline 39
xjmp L253
L260:
.dbline 40
xcall _ReadNextRegister
.dbline 40
.dbline 42
L253:
.dbline 46
clr R2
sts _bKeyGetted,R2
.dbline 47
L250:
.dbline 48
lds R24,_bTime2ms
cpi R24,85
brne L261
.dbline 49
.dbline 50
xcall _FlashLed
.dbline 52
lds R24,_bComRxing
cpi R24,85
brne L263
.dbline 53
.dbline 54
lds R24,_ComRxingTimeLimited
lds R25,_ComRxingTimeLimited+1
adiw R24,1
sts _ComRxingTimeLimited+1,R25
sts _ComRxingTimeLimited,R24
.dbline 55
cpi R24,50
ldi R30,0
cpc R25,R30
brlo L265
.dbline 56
.dbline 57
clr R2
sts _bComRxing,R2
.dbline 58
ldi R24,85
sts _bCom2Spi,R24
.dbline 59
L265:
.dbline 61
L263:
.dbline 63
clr R2
sts _bTime2ms,R2
.dbline 64
L261:
.dbline 67
lds R24,_bCom2Spi
cpi R24,85
brne L267
lds R2,_bSpiTxing
tst R2
brne L267
.dbline 68
.dbline 69
xcall _ComDeal
.dbline 70
L267:
.dbline 72
lds R24,_bEx0Interrupt
cpi R24,85
brne L269
.dbline 73
.dbline 74
clr R2
sts _bEx0Interrupt,R2
.dbline 75
xcall _Ex0Deal
.dbline 76
L269:
.dbline 77
wdr
.dbline 78
L248:
.dbline 28
xjmp L247
X3:
.dbline -2
.dbline 79
L246:
.dbline 0 ; func end
ret
.dbsym l i 1 c
.dbend
.area bss(ram, con, rel)
.dbfile D:\mywork\无绳电话\NRF2401\nRF24L01_atmega16\nrf24l01\main.c
_Led2FlashTimes::
.blkb 1
.dbfile D:\mywork\无绳电话\NRF2401\nRF24L01_atmega16\nrf24l01/WDCT_02.h
.dbsym e Led2FlashTimes _Led2FlashTimes c
_Led1FlashTimes::
.blkb 1
.dbsym e Led1FlashTimes _Led1FlashTimes c
_Timer300msCount::
.blkb 2
.dbsym e Timer300msCount _Timer300msCount i
_Timer1sCount::
.blkb 2
.dbsym e Timer1sCount _Timer1sCount i
_bTest::
.blkb 1
.dbsym e bTest _bTest c
_bSignal2Hz::
.blkb 1
.dbsym e bSignal2Hz _bSignal2Hz c
_bTime2ms::
.blkb 1
.dbsym e bTime2ms _bTime2ms c
_RegisterNum::
.blkb 1
.dbsym e RegisterNum _RegisterNum c
_bEx0Interrupt::
.blkb 1
.dbsym e bEx0Interrupt _bEx0Interrupt c
_bComTxing::
.blkb 1
.dbsym e bComTxing _bComTxing c
_bComRxing::
.blkb 1
.dbsym e bComRxing _bComRxing c
_bSpiTxing::
.blkb 1
.dbsym e bSpiTxing _bSpiTxing c
_bCom2Spi::
.blkb 1
.dbsym e bCom2Spi _bCom2Spi c
_bBusy::
.blkb 1
.dbsym e bBusy _bBusy c
_bKeyGetted::
.blkb 1
.dbsym e bKeyGetted _bKeyGetted c
_bKeyPress::
.blkb 1
.dbsym e bKeyPress _bKeyPress c
_KeyValue::
.blkb 1
.dbsym e KeyValue _KeyValue c
_KeyDelayCou::
.blkb 1
.dbsym e KeyDelayCou _KeyDelayCou c
_KeyBeforeCodeTemp::
.blkb 1
.dbsym e KeyBeforeCodeTemp _KeyBeforeCodeTemp c
_PtComTx::
.blkb 2
.dbsym e PtComTx _PtComTx pc
_ComRxingTimeLimited::
.blkb 2
.dbsym e ComRxingTimeLimited _ComRxingTimeLimited i
_ComRxCount::
.blkb 1
.dbsym e ComRxCount _ComRxCount c
_ComTxCount::
.blkb 1
.dbsym e ComTxCount _ComTxCount c
_ComRxBuf::
.blkb 100
.dbsym e ComRxBuf _ComRxBuf A[100:100]c
_ComTxBuf::
.blkb 100
.dbsym e ComTxBuf _ComTxBuf A[100:100]c
_udaRxBuf::
.blkb 100
.dbsym e udaRxBuf _udaRxBuf A[100:100]c
_udaTxBuf::
.blkb 100
.dbsym e udaTxBuf _udaTxBuf A[100:100]c
_nrfRxBuf::
.blkb 100
.dbsym e nrfRxBuf _nrfRxBuf A[100:100]c
_nrfTxDataBuf::
.blkb 100
.dbsym e nrfTxDataBuf _nrfTxDataBuf A[100:100]c
_nrfTxBuf::
.blkb 6
.dbsym e nrfTxBuf _nrfTxBuf A[6:6]c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -