⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 board.lis

📁 chipcom公司CC1100无线模块底层驱动程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 022A 2990              ld R2,y+
 022C 1990              ld R1,y+
 022E 0990              ld R0,y+
 0230                   .dbline 0 ; func end
 0230 1895              reti
 0232                   .dbend
 0232                   .dbfunc e Delay _Delay fV
 0232           ;              i -> R20,R21
 0232           ;            dly -> R16,R17
                        .even
 0232           _Delay::
 0232 00D0              rcall push_gset1
 0234                   .dbline -1
 0234                   .dbline 341
 0234           ;       }
 0234           ; }
 0234           ; /*
 0234           ; ************************************************************
 0234           ; *Description:延时函数
 0234           ; *Arguments  :none
 0234           ; *Returns    :none
 0234           ; *Notes      :
 0234           ; ************************************************************
 0234           ; */
 0234           ; 
 0234           ; void Delay(INT16U dly)
 0234           ; {
 0234                   .dbline 344
 0234 4427              clr R20
 0236 5527              clr R21
 0238 02C0              rjmp L34
 023A           L31:
 023A                   .dbline 344
 023A           L32:
 023A                   .dbline 344
 023A 4F5F              subi R20,255  ; offset = 1
 023C 5F4F              sbci R21,255
 023E           L34:
 023E                   .dbline 344
 023E           ;       INT16U i;
 023E           ; 
 023E           ;       for(i=0;i<dly;i++);
 023E 4017              cp R20,R16
 0240 5107              cpc R21,R17
 0242 D8F3              brlo L31
 0244                   .dbline -2
 0244           L30:
 0244 00D0              rcall pop_gset1
 0246                   .dbline 0 ; func end
 0246 0895              ret
 0248                   .dbsym r i 20 i
 0248                   .dbsym r dly 16 i
 0248                   .dbend
 0248                   .dbfunc e RF_Sts_ToRX _RF_Sts_ToRX fV
                        .even
 0248           _RF_Sts_ToRX::
 0248                   .dbline -1
 0248                   .dbline 356
 0248           ; }
 0248           ; 
 0248           ; /*
 0248           ; ************************************************************
 0248           ; *Description:切换CC1100工作状态为接收
 0248           ; *Arguments  :none
 0248           ; *Returns    :none
 0248           ; *Notes      :
 0248           ; ************************************************************
 0248           ; */
 0248           ; void RF_Sts_ToRX(void)
 0248           ; {
 0248                   .dbline 357
 0248           ;       CC1100Strobe(CC1100_SIDLE);             //强制转为空闲状态
 0248 06E3              ldi R16,54
 024A 00D0              rcall _CC1100Strobe
 024C                   .dbline 358
 024C           ;       Delay(1000);
 024C 08EE              ldi R16,1000
 024E 13E0              ldi R17,3
 0250 F0DF              rcall _Delay
 0252                   .dbline 359
 0252           ;       CC1100Strobe(CC1100_SFRX);              //清除接收缓存
 0252 0AE3              ldi R16,58
 0254 00D0              rcall _CC1100Strobe
 0256                   .dbline 360
 0256           ;       CC1100Strobe(CC1100_SRX);               //切换到接收模式,进入FS_WAKEUP
 0256 04E3              ldi R16,52
 0258 00D0              rcall _CC1100Strobe
 025A                   .dbline 361
 025A           ;       CC1100Strobe(CC1100_SRX);       //进入CALIBRATE
 025A 04E3              ldi R16,52
 025C 00D0              rcall _CC1100Strobe
 025E                   .dbline 362
 025E           ;       Delay(1000);                                    //进入SETTLING
 025E 08EE              ldi R16,1000
 0260 13E0              ldi R17,3
 0262 E7DF              rcall _Delay
 0264                   .dbline 363
 0264           ;       CC1100Strobe(CC1100_SRX);               //进入RX
 0264 04E3              ldi R16,52
 0266 00D0              rcall _CC1100Strobe
 0268                   .dbline -2
 0268           L35:
 0268                   .dbline 0 ; func end
 0268 0895              ret
 026A                   .dbend
 026A                   .dbfunc e RF_Sts_ToTX _RF_Sts_ToTX fV
                        .even
 026A           _RF_Sts_ToTX::
 026A                   .dbline -1
 026A                   .dbline 374
 026A           ; }
 026A           ; /*
 026A           ; ************************************************************
 026A           ; *Description:切换CC1100工作状态为发送
 026A           ; *Arguments  :none
 026A           ; *Returns    :none
 026A           ; *Notes      :
 026A           ; ************************************************************
 026A           ; */
 026A           ; void RF_Sts_ToTX(void)
 026A           ; {
 026A                   .dbline 375
 026A           ;       CC1100Strobe(CC1100_SIDLE);             //强制转为空闲状态
 026A 06E3              ldi R16,54
 026C 00D0              rcall _CC1100Strobe
 026E                   .dbline 376
 026E           ;       Delay(1000);
 026E 08EE              ldi R16,1000
 0270 13E0              ldi R17,3
 0272 DFDF              rcall _Delay
 0274                   .dbline 377
 0274           ;       CC1100Strobe(CC1100_SFTX);              //清除发送缓存
 0274 0BE3              ldi R16,59
 0276 00D0              rcall _CC1100Strobe
 0278                   .dbline 378
 0278           ;       CC1100Strobe(CC1100_STX);               //切换到发送模式,进入FS_WAKEUP
 0278 05E3              ldi R16,53
 027A 00D0              rcall _CC1100Strobe
 027C                   .dbline 379
 027C           ;       CC1100Strobe(CC1100_STX);               //进入CALIBRATE
 027C 05E3              ldi R16,53
 027E 00D0              rcall _CC1100Strobe
 0280                   .dbline 380
 0280           ;       Delay(1000);                                    //进入SETTLING
 0280 08EE              ldi R16,1000
 0282 13E0              ldi R17,3
 0284 D6DF              rcall _Delay
 0286                   .dbline 381
 0286           ;       CC1100Strobe(CC1100_STX);               //进入TX
 0286 05E3              ldi R16,53
 0288 00D0              rcall _CC1100Strobe
 028A                   .dbline -2
 028A           L36:
 028A                   .dbline 0 ; func end
 028A 0895              ret
 028C                   .dbend
 028C                   .dbfunc e CC1100WriteRfSettings _CC1100WriteRfSettings fV
                        .even
 028C           _CC1100WriteRfSettings::
 028C                   .dbline -1
 028C                   .dbline 383
 028C           ; }
 028C           ; void CC1100WriteRfSettings(void) {
 028C                   .dbline 385
 028C           ;     // Write register settings
 028C           ;     CC1100WriteReg(CC1100_IOCFG2,   rfSettings.IOCFG2);
 028C E0E0              ldi R30,<_rfSettings
 028E F0E0              ldi R31,>_rfSettings
 0290 2491              lpm R18,Z
 0292 0027              clr R16
 0294 00D0              rcall _CC1100WriteReg
 0296                   .dbline 386
 0296           ;       CC1100WriteReg(CC1100_IOCFG1,   rfSettings.IOCFG1);    
 0296 E0E0              ldi R30,<_rfSettings+1
 0298 F0E0              ldi R31,>_rfSettings+1
 029A 2491              lpm R18,Z
 029C 01E0              ldi R16,1
 029E 00D0              rcall _CC1100WriteReg
 02A0                   .dbline 387
 02A0           ;     CC1100WriteReg(CC1100_IOCFG0,   rfSettings.IOCFG0);    
 02A0 E0E0              ldi R30,<_rfSettings+2
 02A2 F0E0              ldi R31,>_rfSettings+2
 02A4 2491              lpm R18,Z
 02A6 02E0              ldi R16,2
 02A8 00D0              rcall _CC1100WriteReg
 02AA                   .dbline 388
 02AA           ;     CC1100WriteReg(CC1100_FIFOTHR,  rfSettings.FIFOTHR);
 02AA E0E0              ldi R30,<_rfSettings+3
 02AC F0E0              ldi R31,>_rfSettings+3
 02AE 2491              lpm R18,Z
 02B0 03E0              ldi R16,3
 02B2 00D0              rcall _CC1100WriteReg
 02B4                   .dbline 389
 02B4           ;     CC1100WriteReg(CC1100_SYNC1,    rfSettings.SYNC1);
 02B4 E0E0              ldi R30,<_rfSettings+4
 02B6 F0E0              ldi R31,>_rfSettings+4
 02B8 2491              lpm R18,Z
 02BA 04E0              ldi R16,4
 02BC 00D0              rcall _CC1100WriteReg
 02BE                   .dbline 390
 02BE           ;     CC1100WriteReg(CC1100_SYNC0,    rfSettings.SYNC0);
 02BE E0E0              ldi R30,<_rfSettings+5
 02C0 F0E0              ldi R31,>_rfSettings+5
 02C2 2491              lpm R18,Z
 02C4 05E0              ldi R16,5
 02C6 00D0              rcall _CC1100WriteReg
 02C8                   .dbline 391
 02C8           ;     CC1100WriteReg(CC1100_PKTLEN,   rfSettings.PKTLEN);
 02C8 E0E0              ldi R30,<_rfSettings+6
 02CA F0E0              ldi R31,>_rfSettings+6
 02CC 2491              lpm R18,Z
 02CE 06E0              ldi R16,6
 02D0 00D0              rcall _CC1100WriteReg
 02D2                   .dbline 392
 02D2           ;     CC1100WriteReg(CC1100_PKTCTRL1, rfSettings.PKTCTRL1);
 02D2 E0E0              ldi R30,<_rfSettings+7
 02D4 F0E0              ldi R31,>_rfSettings+7
 02D6 2491              lpm R18,Z
 02D8 07E0              ldi R16,7
 02DA 00D0              rcall _CC1100WriteReg
 02DC                   .dbline 393
 02DC           ;     CC1100WriteReg(CC1100_PKTCTRL0, rfSettings.PKTCTRL0);
 02DC E0E0              ldi R30,<_rfSettings+8
 02DE F0E0              ldi R31,>_rfSettings+8
 02E0 2491              lpm R18,Z
 02E2 08E0              ldi R16,8
 02E4 00D0              rcall _CC1100WriteReg
 02E6                   .dbline 394
 02E6           ;     CC1100WriteReg(CC1100_ADDR,     rfSettings.ADDR);
 02E6 E0E0              ldi R30,<_rfSettings+9
 02E8 F0E0              ldi R31,>_rfSettings+9
 02EA 2491              lpm R18,Z
 02EC 09E0              ldi R16,9
 02EE 00D0              rcall _CC1100WriteReg
 02F0                   .dbline 397
 02F0           ;       
 02F0           ;     //CC1100WriteReg(CC1100_CHANNR,   rfSettings.CHANNR);
 02F0           ;       CC1100WriteReg(CC1100_CHANNR,   Chno_Set_Num);
 02F0 20910000          lds R18,_Chno_Set_Num
 02F4 0AE0              ldi R16,10
 02F6 00D0              rcall _CC1100WriteReg
 02F8                   .dbline 399
 02F8           ;       
 02F8           ;     CC1100WriteReg(CC1100_FSCTRL1,  rfSettings.FSCTRL1);
 02F8 E0E0              ldi R30,<_rfSettings+11
 02FA F0E0              ldi R31,>_rfSettings+11
 02FC 2491              lpm R18,Z
 02FE 0BE0              ldi R16,11
 0300 00D0              rcall _CC1100WriteReg
 0302                   .dbline 400
 0302           ;     CC1100WriteReg(CC1100_FSCTRL0,  rfSettings.FSCTRL0);
 0302 E0E0              ldi R30,<_rfSettings+12
 0304 F0E0              ldi R31,>_rfSettings+12
 0306 2491              lpm R18,Z
 0308 0CE0              ldi R16,12
 030A 00D0              rcall _CC1100WriteReg
 030C                   .dbline 402
 030C           ;       
 030C           ;     CC1100WriteReg(CC1100_FREQ2,    rfSettings.FREQ2);
 030C E0E0              ldi R30,<_rfSettings+13
 030E F0E0              ldi R31,>_rfSettings+13
 0310 2491              lpm R18,Z
 0312 0DE0              ldi R16,13
 0314 00D0              rcall _CC1100WriteReg
 0316                   .dbline 403
 0316           ;     CC1100WriteReg(CC1100_FREQ1,    rfSettings.FREQ1);
 0316 E0E0              ldi R30,<_rfSettings+14
 0318 F0E0              ldi R31,>_rfSettings+14
 031A 2491              lpm R18,Z
 031C 0EE0              ldi R16,14
 031E 00D0              rcall _CC1100WriteReg
 0320                   .dbline 404
 0320           ;     CC1100WriteReg(CC1100_FREQ0,    rfSettings.FREQ0);
 0320 E0E0              ldi R30,<_rfSettings+15
 0322 F0E0              ldi R31,>_rfSettings+15
 0324 2491              lpm R18,Z
 0326 0FE0              ldi R16,15
 0328 00D0              rcall _CC1100WriteReg
 032A                   .dbline 407
 032A           ;       
 032A           ;     //CC1100WriteReg(CC1100_MDMCFG4,  rfSettings.MDMCFG4);
 032A           ;       CC1100WriteReg(CC1100_MDMCFG4,  Sys_Set[Baud_Set_Num].mdcfg4_val);
 032A 20900100          lds R2,_Baud_Set_Num
 032E 88E0              ldi R24,8
 0330 829D              mul R24,R2
 0332 F001              movw R30,R0
 0334 80E0              ldi R24,<_Sys_Set+3
 0336 90E0              ldi R25,>_Sys_Set+3
 0338 E80F              add R30,R24
 033A F91F              adc R31,R25
 033C 2491              lpm R18,Z
 033E 00E1              ldi R16,16
 0340 00D0              rcall _CC1100WriteReg
 0342                   .dbline 409
 0342           ;     //CC1100WriteReg(CC1100_MDMCFG3,  rfSettings.MDMCFG3);
 0342           ;       CC1100WriteReg(CC1100_MDMCFG3,  Sys_Set[Baud_Set_Num].mdcfg3_val);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -