?? main.lis
字號:
.module main.c
.area text(rom, con, rel)
0000 .dbfile D:\WIRELE~1\CC1020~1\SoftWare\SoftWare\main.c
0000 .dbfunc e main _main fV
0000 ; i -> R20
.even
0000 _main::
0000 .dbline -1
0000 .dbline 18
0000 ; /****************************************************/
0000 ; /* Application note */
0000 ; /* Reference design : CC1100 RF Test Board */
0000 ; /* File: Main.c */
0000 ; /* Revision: 1.0 */
0000 ; /* Description: */
0000 ; /* Microcontroller:ATmega48/48V */
0000 ; /* Author: Zcg, Field Applications Engineer, SunRay*/
0000 ; /****************************************************/
0000 ; #include "iom88v.h"
0000 ; #include "macros.h"
0000 ; #include "main.h"
0000 ; #include "CC1100.h"
0000 ; #include "board.h"
0000 ; #include "simpleio.h"
0000 ;
0000 ; void main (void)
0000 ; {
0000 .dbline 21
0000 ; INT8U i;
0000 ;
0000 ; InitSys(); //初始化變量、寄存器等
0000 00D0 rcall _InitSys
0002 AFC0 rjmp L3
0004 L2:
0004 .dbline 24
0004 ;
0004 ; while (1)
0004 ; {
0004 .dbline 25
0004 ; if ((RFSendFlg == TRUE) && (RFState == CC1100_RX_STATE))//串口接收到
0004 80910000 lds R24,_RFSendFlg
0008 8130 cpi R24,1
000A 79F4 brne L5
000C 20900000 lds R2,_RFState
0010 2220 tst R2
0012 59F4 brne L5
0014 .dbline 26
0014 ; {
0014 .dbline 27
0014 ; RFSendFlg = FALSE; //串口接收完一包數據,準備射頻發送
0014 2224 clr R2
0016 20920000 sts _RFSendFlg,R2
001A .dbline 28
001A ; RF_SendPacket(UartReceive_Buf,RFSendCnt);
001A 20910000 lds R18,_RFSendCnt
001E 00E0 ldi R16,<_UartReceive_Buf
0020 10E0 ldi R17,>_UartReceive_Buf
0022 00D0 rcall _RF_SendPacket
0024 .dbline 29
0024 ; RFSendCnt = 0;
0024 2224 clr R2
0026 20920000 sts _RFSendCnt,R2
002A .dbline 30
002A ; }
002A L5:
002A .dbline 32
002A ;
002A ; if ((RFReceiveFlg == TRUE) && ((UCSR0B & (BIT(UDRIE0))) == 0))
002A 80910000 lds R24,_RFReceiveFlg
002E 8130 cpi R24,1
0030 09F0 breq X1
0032 56C0 rjmp L7
0034 X1:
0034 2090C100 lds R2,193
0038 25FC sbrc R2,5
003A 52C0 rjmp L7
003C .dbline 33
003C ; {
003C .dbline 34
003C ; RFReceiveFlg = FALSE; //射頻接收完一包數據,準備處理
003C 2224 clr R2
003E 20920000 sts _RFReceiveFlg,R2
0042 .dbline 35
0042 ; RFReceiveCnt = 0;
0042 20920000 sts _RFReceiveCnt,R2
0046 .dbline 37
0046 ;
0046 ; Beep_Flag=TRUE;
0046 81E0 ldi R24,1
0048 80930000 sts _Beep_Flag,R24
004C .dbline 38
004C ; BEEP_ON();
004C 5D9A sbi 0xb,5
004E .dbline 39
004E ; printf("RF Recved...");
004E 00E0 ldi R16,<L9
0050 10E0 ldi R17,>L9
0052 00D0 rcall _printf
0054 .dbline 41
0054 ;
0054 ; if( RFReceive_Buf[0]=='S'&&
0054 80910000 lds R24,_RFReceive_Buf
0058 8335 cpi R24,83
005A 09F0 breq X2
005C 40C0 rjmp L10
005E X2:
005E 80910100 lds R24,_RFReceive_Buf+1
0062 8536 cpi R24,101
0064 09F0 breq X3
0066 3BC0 rjmp L10
0068 X3:
0068 80910200 lds R24,_RFReceive_Buf+2
006C 8E36 cpi R24,110
006E 09F0 breq X4
0070 36C0 rjmp L10
0072 X4:
0072 80910300 lds R24,_RFReceive_Buf+3
0076 8436 cpi R24,100
0078 91F5 brne L10
007A .dbline 45
007A ; RFReceive_Buf[1]=='e'&&
007A ; RFReceive_Buf[2]=='n'&&
007A ; RFReceive_Buf[3]=='d' )
007A ; {
007A .dbline 46
007A ; DIS_RX(); //禁止串口接收
007A 8091C100 lds R24,193
007E 8F7E andi R24,239
0080 8093C100 sts 193,R24
0084 .dbline 47
0084 ; DIS_RX_INT(); //禁止串口接收中斷
0084 8091C100 lds R24,193
0088 8F77 andi R24,127
008A 8093C100 sts 193,R24
008E .dbline 49
008E ;
008E ; Test_RFTx_Buf[0]='R';
008E 82E5 ldi R24,82
0090 80930000 sts _Test_RFTx_Buf,R24
0094 .dbline 50
0094 ; Test_RFTx_Buf[1]='e';
0094 85E6 ldi R24,101
0096 80930100 sts _Test_RFTx_Buf+1,R24
009A .dbline 51
009A ; Test_RFTx_Buf[2]='c';
009A 83E6 ldi R24,99
009C 80930200 sts _Test_RFTx_Buf+2,R24
00A0 .dbline 52
00A0 ; Test_RFTx_Buf[3]='v';
00A0 86E7 ldi R24,118
00A2 80930300 sts _Test_RFTx_Buf+3,R24
00A6 .dbline 54
00A6 ;
00A6 ; for(i=0;i<MAX_DATA_TEST-4-1;i++)
00A6 4427 clr R20
00A8 0AC0 rjmp L21
00AA L18:
00AA .dbline 55
00AA .dbline 56
00AA 80E0 ldi R24,<_Test_RFTx_Buf+4
00AC 90E0 ldi R25,>_Test_RFTx_Buf+4
00AE E42F mov R30,R20
00B0 FF27 clr R31
00B2 E80F add R30,R24
00B4 F91F adc R31,R25
00B6 842F mov R24,R20
00B8 805D subi R24,208 ; addi 48
00BA 8083 std z+0,R24
00BC .dbline 57
00BC L19:
00BC .dbline 54
00BC 4395 inc R20
00BE L21:
00BE .dbline 54
00BE 4B32 cpi R20,43
00C0 A0F3 brlo L18
00C2 .dbline 58
00C2 ; {
00C2 ; Test_RFTx_Buf[i+4]='0'+i;
00C2 ; }
00C2 ; Test_RFTx_Buf[MAX_DATA_TEST-1]='\n';//
00C2 8AE0 ldi R24,10
00C4 80932F00 sts _Test_RFTx_Buf+47,R24
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -