📄 serial.lst
字号:
C51 COMPILER V7.09 SERIAL 09/11/2007 09:30:27 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE SERIAL
OBJECT MODULE PLACED IN serial.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE serial.c ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "typedef.h"
2 #include "crc16.h"
3 #include "ll.h"
4 /*
5 void serial(void) interrupt 4 using 1
6 {
7 if(RI)
8 {
9 RI =0;
10 if(recv_len == 0 )
11 {
12 recv_len = SBUF;
13 if(recv_len > 4) //接收数至少要有5个字节
14 {
15 p_rpc =0;
16 pcdata[0] = SBUF;
17 b_pcend = 0;
18 recv_len --; p_rpc++;
19 b_recTime = 1; t_recTime = 0; //接收限时
20 }
21 }
22 else
23 {
24 pcdata[p_rpc] = SBUF;
25 p_rpc ++;
26 recv_len--;
27 if(recv_len == 0)
28 {
29 b_pcend = 1;
30 b_recTime = 0; t_recTime = 0;
31 }
32 }
33 }
34 }
35 */
36 /*
37 uchar verifyRd(void)
38 {
39 uchar type = 0; //假定校验正确
40
41 if( deviceAddr == pcdata[1] ){ type = 1;} //地址合法
42 else if(deviceAddr == 0xfe) { type = 2;} //广播地址
43 else if(deviceAddr == 0xff) { type = 3;}
44 else { type = 0;}
45
46 if(type)
47 {
48 if(!chkCRC_re(pcdata,pcdata[0])) //CRC校验正确
49 { type = 0;
50 }
51 }
52 return (type);
53 }
54 */
55 /**********************************************/
C51 COMPILER V7.09 SERIAL 09/11/2007 09:30:27 PAGE 2
56 /*
57 void send2main(void)
58 {
59 uchar i,len;
60 ES=0;
61 len = pcdata[0];
62 for(i=0;i<len;i++)
63 {
64 SBUF=pcdata[i]; //发送数据
65 while(TI==0);
66 TI=0;
67 }
68 ES=1;
69 }
70 */
71
72 ///////////////////////////////////////
73 //send_resp(0xB0,0x01,4,0);
74 /*
75 void send_resp(uchar con_byte,uchar status ,uchar dp,uchar data_len)
76 {
77 uchar i;
78 uint j;
79 if(dp==4) { } no card,iso error
80 else if(dp<4)
81 {
82 dp --;
83 for(i=data_len;i>0;i--)
84 {
85 pcdata[3+i] = pcdata[dp+i];
86 }
87 }
88 else
89 {
90 for(i=0;i<data_len;i++)
91 {
92 pcdata[4+i] = pcdata[dp+i];
93 }
94 }
95
96 pcdata[0] = data_len+6;
97 pcdata[1] = devAddr;
98 pcdata[2] = con_byte;
99 pcdata[3] = status;
100 j = crc16Calculate(pcdata,data_len+4);
101 j = ~j;
102 pcdata[data_len+4] = HIBYTE(j); //crc MSByte
103 pcdata[data_len+5] = LOBYTE(j); //crc LMSByte
104 send2main();
105 }
106 */
107
108 // con_byte-------------0xb1
109 // status---------------0: ok
110 // 01: no card
111 // 11: parameter error
112 // 95: iso error
113 // dp--------------------pcdata[]的取数地址
114 // data_len--------------数据长度
115 /*
116 void send_resp(uchar con_byte,uchar status ,uchar dp,uchar data_len)
117 {
C51 COMPILER V7.09 SERIAL 09/11/2007 09:30:27 PAGE 3
118 uint j;
119 dp = 0;
120 pcdata[0] = data_len+6;
121 pcdata[1] = deviceAddr;
122 pcdata[2] = con_byte;
123 pcdata[3] = status;
124 j = crc16Calculate(pcdata,data_len+4);
125 j = ~j;
126 pcdata[data_len+4] = HIBYTE(j); //crc MSByte
127 pcdata[data_len+5] = LOBYTE(j); //crc LMSByte
128 send2main();
129 }
130 */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = ---- ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -