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

📄 cc1100.lis

📁 mega128平台下
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 02BE 0027              clr R16
 02C0           L83:
 02C0 2196              adiw R28,1
 02C2 0E940000          xcall pop_gset2
 02C6                   .dbline 0 ; func end
 02C6 0895              ret
 02C8           ;          value -> R20
 02C8           ;           addr -> R20
                        .even
 02C8           _halSpiReadReg::
 02C8 0E940000          xcall push_gset1
 02CC 402F              mov R20,R16
 02CE           ;       }// halRfSendPacket
 02CE           ; /*******************************************/ 
 02CE           ; /*
 02CE           ;       void TxCCxx00()
 02CE           ;       {
 02CE           ;               unsigned char   i;
 02CE           ;               halSpiWriteReg(CCxxx0_FREND0, 0x10);            //CC1100:POWER=10DBM;CC2500:1DBM
 02CE           ;               Dly1mS(25);;
 02CE           ;               for(i=0;i<4;i++)                                                        //发四次                
 02CE           ;               {
 02CE           ;                       halRfSendPacket(txBuffer_CCxx00, sizeof(txBuffer_CCxx00));
 02CE           ;                       Dly1mS(50);
 02CE           ;               }
 02CE           ;               halSpiWriteReg(CCxxx0_FREND0, 0x15);    //CC1100太近会收不到,将发射功率降低到-10DBM //#define CCxxx0_FREND0       0x22
 02CE           ;               Dly1mS(50);
 02CE           ;               halRfSendPacket(txBuffer_CCxx00, sizeof(txBuffer_CCxx00));
 02CE           ;               Dly1mS(100);
 02CE           ;       }
 02CE           ; */
 02CE           ; /*********************************************************/
 02CE           ;       unsigned char halSpiReadReg(unsigned char addr) 
 02CE           ;       {
 02CE           ;               unsigned char value;
 02CE           ;               CLEAR_CLOCK();
 02CE 9EDE              xcall _CLEAR_CLOCK
 02D0           ;               Dly10us();Dly10us();
 02D0 C6DE              xcall _Dly10us
 02D2 C5DE              xcall _Dly10us
 02D4           ;               CLEAR_CSN(); // CSn=0
 02D4 AFDE              xcall _CLEAR_CSN
 02D6           ;               addr|=READ_SINGLE;
 02D6 4068              ori R20,128
 02D8           ;               SPI_write(addr);
 02D8 042F              mov R16,R20
 02DA F0DE              xcall _SPI_write
 02DC           ;               CLEAR_IN();
 02DC A3DE              xcall _CLEAR_IN
 02DE           ;               Dly10us();Dly10us();Dly10us();Dly10us();Dly10us();
 02DE BFDE              xcall _Dly10us
 02E0 BEDE              xcall _Dly10us
 02E2 BDDE              xcall _Dly10us
 02E4 BCDE              xcall _Dly10us
 02E6 BBDE              xcall _Dly10us
 02E8           ;               value=0;
 02E8 4427              clr R20
 02EA           ;               value=SPI_read();
 02EA 19DF              xcall _SPI_read
 02EC 402F              mov R20,R16
 02EE           ;               Dly10us();Dly10us();Dly10us();
 02EE B7DE              xcall _Dly10us
 02F0 B6DE              xcall _Dly10us
 02F2 B5DE              xcall _Dly10us
 02F4           ;               CLEAR_CLOCK();
 02F4 8BDE              xcall _CLEAR_CLOCK
 02F6           ;               CLEAR_IN();
 02F6 96DE              xcall _CLEAR_IN
 02F8           ;               SET_CSN(); // CSn=0 P_CSn=0;
 02F8 9BDE              xcall _SET_CSN
 02FA           ;               return value;           
 02FA 042F              mov R16,R20
 02FC           L87:
 02FC 0E940000          xcall pop_gset1
 0300                   .dbline 0 ; func end
 0300 0895              ret
 0302           ;          value -> R20
 0302           ;              i -> R22
 0302           ;          count -> R10
 0302           ;         buffer -> R12,R13
 0302           ;           addr -> R20
                        .even
 0302           _halSpiReadBurstReg::
 0302 0E940000          xcall push_gset4
 0306 6901              movw R12,R18
 0308 402F              mov R20,R16
 030A A884              ldd R10,y+8
 030C           ;       }
 030C           ; /**************************************************/
 030C           ;       void halSpiReadBurstReg(unsigned char addr, unsigned char *buffer, unsigned char count)
 030C           ;       {
 030C           ;               unsigned char i,value;
 030C           ;               CLEAR_CLOCK();
 030C 7FDE              xcall _CLEAR_CLOCK
 030E           ;               Dly10us();Dly10us();
 030E A7DE              xcall _Dly10us
 0310 A6DE              xcall _Dly10us
 0312           ;               CLEAR_CSN(); // CSn=0 P_CSn=0;
 0312 90DE              xcall _CLEAR_CSN
 0314           ;               addr|=READ_BURST;
 0314 406C              ori R20,192
 0316           ;               SPI_write(addr);
 0316 042F              mov R16,R20
 0318 D1DE              xcall _SPI_write
 031A           ;               CLEAR_IN();
 031A 84DE              xcall _CLEAR_IN
 031C           ;               Dly10us();Dly10us();Dly10us();Dly10us();Dly10us();
 031C A0DE              xcall _Dly10us
 031E 9FDE              xcall _Dly10us
 0320 9EDE              xcall _Dly10us
 0322 9DDE              xcall _Dly10us
 0324 9CDE              xcall _Dly10us
 0326           ;               value=0; 
 0326 4427              clr R20
 0328           ;               for(i=0;i<count;i++)
 0328 6627              clr R22
 032A 08C0              xjmp L92
 032C           L89:
 032C F8DE              xcall _SPI_read
 032E 402F              mov R20,R16
 0330 E62F              mov R30,R22
 0332 FF27              clr R31
 0334 EC0D              add R30,R12
 0336 FD1D              adc R31,R13
 0338 4083              std z+0,R20
 033A           L90:
 033A 6395              inc R22
 033C           L92:
 033C 6A15              cp R22,R10
 033E B0F3              brlo L89
 0340           ;               {
 0340           ;                       value=SPI_read();
 0340           ;                       buffer[i]=value;
 0340           ;               }
 0340           ;               Dly10us();Dly10us();Dly10us();
 0340 8EDE              xcall _Dly10us
 0342 8DDE              xcall _Dly10us
 0344 8CDE              xcall _Dly10us
 0346           ;               CLEAR_CLOCK();
 0346 62DE              xcall _CLEAR_CLOCK
 0348           ;               CLEAR_IN();
 0348 6DDE              xcall _CLEAR_IN
 034A           ;               SET_CSN(); // CSn=0 P_CSn=0;
 034A 72DE              xcall _SET_CSN
 034C           L88:
 034C 0E940000          xcall pop_gset4
 0350                   .dbline 0 ; func end
 0350 0895              ret
 0352           ;         rd_pin -> <dead>
 0352           ;          value -> R22
 0352           ;           addr -> R20
                        .even
 0352           _halSpiReadStatus::
 0352 0E940000          xcall push_gset2
 0356 402F              mov R20,R16
 0358           ;       }
 0358           ; /**************************************************/
 0358           ;       unsigned char halSpiReadStatus(unsigned char addr) 
 0358           ;       {
 0358           ;               unsigned char value,rd_pin;
 0358           ;         CLEAR_CSN(); // CSn=0 P_CSn=0;
 0358 6DDE              xcall _CLEAR_CSN
 035A           L94:
 035A           L95:
 035A           ; 	  while(GET_OUT());
 035A 6EDE              xcall _GET_OUT
 035C 0030              cpi R16,0
 035E 0107              cpc R16,R17
 0360 E1F7              brne L94
 0362           X5:
 0362           ; 		CLEAR_CLOCK(); //SCLK=0  //P_SCLK=0;
 0362 54DE              xcall _CLEAR_CLOCK
 0364           ;               addr|=READ_BURST;
 0364 406C              ori R20,192
 0366           ;               SPI_write(addr);
 0366 042F              mov R16,R20
 0368 A9DE              xcall _SPI_write
 036A           ;               value=SPI_read();
 036A D9DE              xcall _SPI_read
 036C 602F              mov R22,R16
 036E           ;               CLEAR_CLOCK(); //SCLK=0  //P_SCLK=0;
 036E 4EDE              xcall _CLEAR_CLOCK
 0370           ;               CLEAR_IN(); // SI=0 P_SI=0;
 0370 59DE              xcall _CLEAR_IN
 0372           ;         SET_CSN();  //CSn=1   P_CSn=1;
 0372 5EDE              xcall _SET_CSN
 0374           ;               return value;
 0374 062F              mov R16,R22
 0376           L93:
 0376 0E940000          xcall pop_gset2
 037A                   .dbline 0 ; func end
 037A 0895              ret
                        .even
 037C           _halRfWriteRfSettings::
 037C           ; 	}// halSpiReadStatus
 037C           ; /**************************************************/
 037C           ; 	void halRfWriteRfSettings() 
 037C           ; 	{
 037C           L98:
 037C           ; 	l_setCC1100:	
 037C           ; 		halSpiWriteReg(CCxxx0_FSCTRL1, 0x0C);	
 037C 2CE0              ldi R18,12
 037E 0BE0              ldi R16,11
 0380 07DF              xcall _halSpiWriteReg
 0382           ;               
 0382           ;               halSpiWriteReg(CCxxx0_FSCTRL0, 0x00);   
 0382 2227              clr R18
 0384 0CE0              ldi R16,12
 0386 04DF              xcall _halSpiWriteReg
 0388           ;               halSpiWriteReg(CCxxx0_FREQ2, 0x10);
 0388 20E1              ldi R18,16
 038A 0DE0              ldi R16,13
 038C 01DF              xcall _halSpiWriteReg
 038E           ;               halSpiWriteReg(CCxxx0_FREQ1, 0x09);
 038E 29E0              ldi R18,9
 0390 0EE0              ldi R16,14
 0392 FEDE              xcall _halSpiWriteReg
 0394           ;               halSpiWriteReg(CCxxx0_FREQ0, 0x7B);
 0394 2BE7              ldi R18,123
 0396 0FE0              ldi R16,15
 0398 FBDE              xcall _halSpiWriteReg
 039A           ;               halSpiWriteReg(CCxxx0_MDMCFG4, 0xC6);
 039A 26EC              ldi R18,198
 039C 00E1              ldi R16,16
 039E F8DE              xcall _halSpiWriteReg
 03A0           ;               halSpiWriteReg(CCxxx0_MDMCFG3, 0x83); 
 03A0 23E8              ldi R18,131
 03A2 01E1              ldi R16,17
 03A4 F5DE              xcall _halSpiWriteReg
 03A6           ;               halSpiWriteReg(CCxxx0_MDMCFG2, 0x02);
 03A6 22E0              ldi R18,2
 03A8 02E1              ldi R16,18
 03AA F2DE              xcall _halSpiWriteReg
 03AC           ;               halSpiWriteReg(CCxxx0_MDMCFG1, 0x22);
 03AC 22E2              ldi R18,34
 03AE 03E1              ldi R16,19
 03B0 EFDE              xcall _halSpiWriteReg
 03B2           ;               halSpiWriteReg(CCxxx0_MDMCFG0, 0xF8);
 03B2 28EF              ldi R18,248
 03B4 04E1              ldi R16,20
 03B6 ECDE              xcall _halSpiWriteReg
 03B8           ;               halSpiWriteReg(CCxxx0_CHANNR, 0x0A);
 03B8 2AE0              ldi R18,10
 03BA 0AE0              ldi R16,10
 03BC E9DE              xcall _halSpiWriteReg
 03BE           ;               halSpiWriteReg(CCxxx0_DEVIATN, 0x30);
 03BE 20E3              ldi R18,48
 03C0 05E1              ldi R16,21
 03C2 E6DE              xcall _halSpiWriteReg
 03C4           ;               halSpiWriteReg(CCxxx0_FREND1, 0x56);
 03C4 26E5              ldi R18,86
 03C6 01E2              ldi R16,33
 03C8 E3DE              xcall _halSpiWriteReg
 03CA           ;               halSpiWriteReg(CCxxx0_FREND0, 0x10);
 03CA 20E1              ldi R18,16
 03CC 02E2              ldi R16,34
 03CE E0DE              xcall _halSpiWriteReg
 03D0           ;               
 03D0           ;               
 03D0           ;               halSpiWriteReg(CCxxx0_MCSM0, 0x18);
 03D0 28E1              ldi R18,24
 03D2 08E1              ldi R16,24
 03D4 DDDE              xcall _halSpiWriteReg
 03D6           ;               halSpiWriteReg(CCxxx0_FOCCFG, 0x15);
 03D6 25E1              ldi R18,21
 03D8 09E1              ldi R16,25
 03DA DADE              xcall _halSpiWriteReg
 03DC           ;               halSpiWriteReg(CCxxx0_BSCFG, 0x6C);
 03DC 2CE6              ldi R18,108
 03DE 0AE1              ldi R16,26
 03E0 D7DE              xcall _halSpiWriteReg
 03E2           ;               halSpiWriteReg(CCxxx0_AGCCTRL2, 0x03);
 03E2 23E0              ldi R18,3
 03E4 0BE1              ldi R16,27
 03E6 D4DE              xcall _halSpiWriteReg
 03E8           ;               halSpiWriteReg(CCxxx0_AGCCTRL0, 0x91);
 03E8 21E9              ldi R18,145
 03EA 0DE1              ldi R16,29
 03EC D1DE              xcall _halSpiWriteReg
 03EE           ;               halSpiWriteReg(CCxxx0_FSCAL3, 0xA9);
 03EE 29EA              ldi R18,169
 03F0 03E2              ldi R16,35
 03F2 CEDE              xcall _halSpiWriteReg
 03F4           ;               halSpiWriteReg(CCxxx0_FSCAL2, 0x2A);
 03F4 2AE2              ldi R18,42
 03F6 04E2              ldi R16,36
 03F8 CBDE              xcall _halSpiWriteReg
 03FA           ;               halSpiWriteReg(CCxxx0_FSCAL0, 0x0D);
 03FA 2DE0              ldi R18,13
 03FC 06E2              ldi R16,38
 03FE C8DE              xcall _halSpiWriteReg
 0400           ;               halSpiWriteReg(CCxxx0_FSTEST, 0x59);
 0400 29E5              ldi R18,89
 0402 09E2              ldi R16,41
 0404 C5DE              xcall _halSpiWriteReg
 0406           ;               halSpiWriteReg(CCxxx0_TEST2, 0x86);
 0406 26E8              ldi R18,134
 0408 0CE2              ldi R16,44
 040A C2DE              xcall _halSpiWriteReg
 040C           ;               halSpiWriteReg(CCxxx0_TEST1, 0x3D);
 040C 2DE3              ldi R18,61
 040E 0DE2              ldi R16,45
 0410 BFDE              xcall _halSpiWriteReg
 0412           ;               halSpiWriteReg(CCxxx0_TEST0, 0x09);
 0412 29E0              ldi R18,9
 0414 0EE2              ldi R16,46
 0416 BCDE              xcall _halSpiWriteReg
 0418           ;               
 0418           ;               
 0418           ;         halSpiWriteReg(CCxxx0_IOCFG2, 0x24);
 0418 24E2              ldi R18,36
 041A 0027              clr R16
 041C B9DE              xcall _halSpiWriteReg
 041E           ;                 
 041E           ;         halSpiWriteReg(CCxxx0_IOCFG0, 0x06);
 041E 26E0              ldi R18,6
 0420 02E0              ldi R16,2
 0422 B6DE              xcall _halSpiWriteReg
 0424           ;               halSpiWriteReg(CCxxx0_PKTCTRL1, 0x04);
 0424 24E0              ldi R18,4
 0426 07E0              ldi R16,7
 0428 B3DE              xcall _halSpiWriteReg
 042A           ;               halSpiWriteReg(CCxxx0_PKTCTRL0, 0x05);
 042A 25E0              ldi R18,5
 042C 08E0              ldi R16,8
 042E B0DE              xcall _halSpiWriteReg
 0430           ;               halSpiWriteReg(CCxxx0_ADDR, 0x00);
 0430 2227              clr R18
 0432 09E0              ldi R16,9
 0434 ADDE              xcall _halSpiWriteReg
 0436           ;               
 0436           ;               halSpiWriteReg(CCxxx0_PKTLEN, 0x1F); // hejie ,接收数据长度
 0436 2FE1              ldi R18,31
 0438 06E0              ldi R16,6
 043A AADE              xcall _halSpiWriteReg
 043C           ;               //halSpiWriteReg(CCxxx0_PKTLEN, 0xFF);
 043C           ;               
 043C           ;               halSpiWriteReg(CCxxx0_MCSM2, 0x08);  // CCxxx0_MCSM2 修改限制时间 默认为07 修改为00
 043C 28E0              ldi R18,8
 043E 06E1              ldi R16,22
 0440 A7DE              xcall _halSpiWriteReg
 0442           ;               //halSpiWriteReg(CCxxx0_FIFOTHR, 0x07);
 0442           ;               
 0442           ;        
 0442           ;               if(halSpiReadReg(CCxxx0_MDMCFG1)!=0x22){
 0442 03E1              ldi R16,19
 0444 41DF              xcall _halSpiReadReg
 0446 0232              cpi R16,34
 0448 09F0              breq L99
 044A           ;                // led1On();
 044A           ;               goto l_setCC1100;
 044A 98CF              xjmp L98
 044C           L99:
 044C           L97:
 044C                   .dbline 0 ; func end

⌨️ 快捷键说明

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