?? try.lst
字號(hào):
107 //串口接收中斷
108 void uart(void) interrupt 4
109 {
110 1 unsigned char tmp;
111 1 if(RI){
112 2 tmp=SBUF;
113 2 switch(tmp)
114 2 {
115 3 case '$':
116 3 cmd_number=0; //命令類型清空
117 3 mode=1; //接收命令模式
C51 COMPILER V8.02 TRY 07/17/2008 19:14:02 PAGE 3
118 3 byte_count=0; //接收位數(shù)清空
119 3 break;
120 3 case ',':
121 3 seg_count++; //逗號(hào)計(jì)數(shù)加1
122 3 byte_count=0;
123 3 break;
124 3 case '*':
125 3 mode=0;
126 3 buf_full=1;
127 3 break;
128 3 default:
129 3 if(mode==1){
130 4 //命令種類判斷
131 4 cmd[byte_count]=tmp; //接收字符放入類型緩存
132 4 if(byte_count>=4){ //如果類型數(shù)據(jù)接收完畢,判斷類型
133 5 if(cmd[0]=='G'){
134 6 if(cmd[1]=='P'){
135 7 if(cmd[2]=='R'){
136 8 if(cmd[3]=='M'){
137 9 if(cmd[4]=='C'){
138 10 cmd_number=1;
139 10 mode=2;
140 10 seg_count=0;
141 10 byte_count=0;
142 10 }
143 9 }
144 8
145 8
146 8 }
147 7 }
148 6 }
149 5 }
150 4 }
151 3 else if((mode==2)&cmd_number){
152 4 //接收數(shù)據(jù)處理 GPGGA,132920.487,,n,,w,0,00,,,M,0.0,M,,0000*56
153 4 //$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598, ,*10
154 4 //$GPGGA,161229.487,3723.2475,N,12158.3416,W,1,07,1.0,9.0,M, , , ,0000*18
155 4 switch(seg_count){
156 5 case 1:
157 5 if(byte_count<6){ //時(shí)間處理
158 6 time[byte_count]=tmp;
159 6 }
160 5 break;
161 5 case 3: //緯
-度處理
162 5 if(byte_count<9){
163 6 WD[byte_count]=tmp;
164 6 }
165 5 break;
166 5 case 4: //緯
-度方向處理
167 5 if(byte_count<1){
168 6 WD_a=tmp;
169 6 }
170 5 break;
171 5 case 5: //經(jīng)
-度處理
172 5 if(byte_count<10){
173 6 JD[byte_count]=tmp;
174 6 }
175 5 break;
176 5 case 6: //經(jīng)
C51 COMPILER V8.02 TRY 07/17/2008 19:14:02 PAGE 4
-度方向處理
177 5 if(byte_count<1){
178 6 JD_a=tmp;
179 6 }
180 5 break;
181 5 case 7: //speed
182 5 if(byte_count<4){
183 6 speed[byte_count]=tmp;
184 6 }
185 5 break;
186 5 // case 9: //date
187 5 // if(byte_count<6){
188 5 // date[byte_count]=tmp;
189 5 // }
190 5 // break;
191 5 }
192 4
193 4 }
194 3
195 3 byte_count++; //接收數(shù)位加1
196 3 break;
197 3 }
198 2 }
199 1 RI=0;
200 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 858 ----
CONSTANT SIZE = 55 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 52 7
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -