📄 cc1100_f310_t00.lst
字号:
193 2 FRX_ptr = &UART_buf_0;
194 2 }
195 1 else
196 1 {//UTX:0号缓冲区,FRX:1号缓冲区
197 2 UTX_ptr = &UART_buf_0;
198 2 FRX_ptr = &UART_buf_1;
199 2 }
200 1 S_UTX = !S_UTX;
201 1 }
202
203 //----------- UART0 中断服务程序 ----------------
204 //工作原理:
205 //RX时,字节间隔时间大于帧间隔RX_OVER作为帧结束标志。
206 // 第一个字节为包长度,其后为正文。
207 //--------------------------------------------------
208 void UART_ISR ( void ) interrupt 4 using 1
209 {
210 1
211 1 if ( RI0 )
212 1 {
213 2 RI0 = 0;
214 2 if ( !S_FTX )
215 2 {//第1分组
216 3 S_FTX = 1; //FTX灯亮。
217 3 URX_i = 0;
218 3 switch_URX_buf();
219 3 }
220 2 URX_time = URX_GAP; //重置帧间隔
221 2 *URX_ptr = SBUF0;
222 2 URX_ptr++;
223 2 URX_i++;
224 2 if ( URX_i== 32 )
225 2 {//URX收到1个分组。
226 3 FTX_len = 32; //URX收到的字节数
227 3 URX_i = 0;
228 3 switch_URX_buf();
229 3 RF_case = FTX_start; //启动无线发射任务
230 3 }
231 2 }
232 1
233 1 if ( TI0 )
234 1 {
235 2 TI0 = 0;
236 2 if ( UTX_i )
237 2 {
238 3 SBUF0 = *UTX_ptr;
239 3 UTX_ptr++;
240 3 UTX_i--;
C51 COMPILER V8.08 CC1100_F310_T00 06/13/2008 15:24:04 PAGE 5
241 3 }
242 2 else
243 2 {
244 3 S_TI0 = 0;
245 3 }
246 2
247 2 }
248 1
249 1 }
C51 COMPILER V8.08 CC1100_F310_T00 06/13/2008 15:24:04 PAGE 6
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION main (BEGIN)
; SOURCE LINE # 40
; SOURCE LINE # 41
; SOURCE LINE # 43
0000 120000 E LCALL CC1100_Reset
; SOURCE LINE # 45
0003 120000 E LCALL turn_IDLE
; SOURCE LINE # 48
0006 120000 E LCALL CC1100_Config
; SOURCE LINE # 50
0009 120000 E LCALL Recover_TEST
; SOURCE LINE # 52
000C 120000 E LCALL CC1100_function
; SOURCE LINE # 54
000F E4 CLR A
0010 F520 MOV SYS_Flag,A
; SOURCE LINE # 55
0012 F500 R MOV URX_time,A
; SOURCE LINE # 56
0014 F500 R MOV FRX_time,A
; SOURCE LINE # 57
0016 F500 R MOV URX_i,A
; SOURCE LINE # 58
0018 F500 R MOV FRX_len,A
; SOURCE LINE # 59
001A 120000 R LCALL switch_URX_buf
; SOURCE LINE # 60
001D 120000 R LCALL switch_UTX_buf
; SOURCE LINE # 62
0020 120000 R LCALL Start_FRX
; SOURCE LINE # 64
0023 75C804 MOV TMR2CN,#04H
; SOURCE LINE # 65
0026 D2AF SETB EA
0028 ?C0001:
; SOURCE LINE # 67
; SOURCE LINE # 68
; SOURCE LINE # 69
0028 300026 JNB S_1ms,?C0003
; SOURCE LINE # 70
; SOURCE LINE # 71
002B C200 CLR S_1ms
; SOURCE LINE # 72
002D 120000 E LCALL Deal_with_LED
; SOURCE LINE # 74
0030 E500 R MOV A,URX_time
0032 6014 JZ ?C0004
0034 D50011 R DJNZ URX_time,?C0004
; SOURCE LINE # 75
; SOURCE LINE # 76
0037 C201 CLR S_FTX
; SOURCE LINE # 77
0039 E500 R MOV A,URX_i
003B 600B JZ ?C0004
; SOURCE LINE # 78
; SOURCE LINE # 79
003D F500 R MOV FTX_len,A
; SOURCE LINE # 80
003F E4 CLR A
C51 COMPILER V8.08 CC1100_F310_T00 06/13/2008 15:24:04 PAGE 7
0040 F500 R MOV URX_i,A
; SOURCE LINE # 81
0042 120000 R LCALL switch_URX_buf
; SOURCE LINE # 82
0045 750004 R MOV RF_case,#04H
; SOURCE LINE # 83
; SOURCE LINE # 84
0048 ?C0004:
; SOURCE LINE # 85
0048 E500 R MOV A,FRX_time
004A 6005 JZ ?C0003
004C D50002 R DJNZ FRX_time,?C0003
; SOURCE LINE # 86
; SOURCE LINE # 87
004F C203 CLR S_FRX
; SOURCE LINE # 88
; SOURCE LINE # 89
0051 ?C0003:
; SOURCE LINE # 91
0051 E500 R MOV A,RF_case
0053 6027 JZ ?C0011
0055 24FE ADD A,#0FEH
0057 602B JZ ?C0013
0059 14 DEC A
005A 6030 JZ ?C0015
005C 24FE ADD A,#0FEH
005E 6011 JZ ?C0009
0060 04 INC A
0061 70C5 JNZ ?C0001
; SOURCE LINE # 92
; SOURCE LINE # 94
0063 ?C0008:
; SOURCE LINE # 95
; SOURCE LINE # 96
0063 120000 E LCALL turn_IDLE
; SOURCE LINE # 97
0066 120000 E LCALL Write_URX_buf_33
; SOURCE LINE # 98
0069 120000 E LCALL turn_FTX
; SOURCE LINE # 99
006C 750005 R MOV RF_case,#05H
; SOURCE LINE # 100
006F 80B7 SJMP ?C0001
; SOURCE LINE # 101
; SOURCE LINE # 102
0071 ?C0009:
; SOURCE LINE # 103
; SOURCE LINE # 104
0071 20A5B4 JB CC1100_GDO0,?C0001
; SOURCE LINE # 105
; SOURCE LINE # 106
0074 120000 E LCALL clear_TXFIFO
; SOURCE LINE # 107
0077 120000 R LCALL Start_FRX
; SOURCE LINE # 108
; SOURCE LINE # 109
007A 80AC SJMP ?C0001
; SOURCE LINE # 110
; SOURCE LINE # 112
007C ?C0011:
; SOURCE LINE # 113
; SOURCE LINE # 114
C51 COMPILER V8.08 CC1100_F310_T00 06/13/2008 15:24:04 PAGE 8
007C 30A5A9 JNB CC1100_GDO0,?C0001
; SOURCE LINE # 115
; SOURCE LINE # 116
007F 750002 R MOV RF_case,#02H
; SOURCE LINE # 117
; SOURCE LINE # 118
0082 80A4 SJMP ?C0001
; SOURCE LINE # 119
; SOURCE LINE # 120
0084 ?C0013:
; SOURCE LINE # 121
; SOURCE LINE # 122
0084 20A5A1 JB CC1100_GDO0,?C0001
; SOURCE LINE # 123
; SOURCE LINE # 124
0087 750003 R MOV RF_case,#03H
; SOURCE LINE # 125
; SOURCE LINE # 126
008A 809C SJMP ?C0001
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -