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

📄 uart.lst

📁 此程序是GPS的解码程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 135  10                                                                                      seg_count=0;
 136  10                                                                                      byte_count=0;
 137  10                                                                              }
 138   9                                                                      }
 139   8                                                              }
 140   7                                                              else if(cmd[2]=='R'){
 141   8                                                                      if(cmd[3]=='M'){
 142   9                                                                              if(cmd[4]=='C'){
 143  10                                                                                      cmd_number=3;
 144  10                                                                                      mode=2;
 145  10                                                                                      seg_count=0;
 146  10                                                                                      byte_count=0;
 147  10                                                                                      a_num=0;
 148  10                                                                                      s_num=0;
 149  10                                                                              }
 150   9                                                                      }
 151   8                                                              }
 152   7                                                              else if(cmd[2]=='Z'){
 153   8                                                                      if(cmd[3]=='D'){
 154   9                                                                              if(cmd[4]=='A'){
 155  10                                                                                      cmd_number=4;
 156  10                                                                                      mode=2;
 157  10                                                                                      seg_count=0;
 158  10                                                                                      byte_count=0;
 159  10                                                                              }
 160   9                                                                      }
 161   8                                                              }
 162   7                                                      }
 163   6                                              }
 164   5                                      }
 165   4                              }
 166   3                              else if(mode==2){
 167   4                                      //接收数据处理
 168   4                                      switch (cmd_number){
 169   5                                              case 1:                         //类型1数据接收。GPGGA
 170   5                                                      switch(seg_count){
 171   6                                                              case 2:                                                         //纬度处理
 172   6                                                                      if(byte_count<9){
 173   7                                                                              WD[byte_count]=tmp;
 174   7                                                                      }
 175   6                                                                      break;
 176   6                                                              case 3:                                                         //纬度方向处理
 177   6                                                                      if(byte_count<1){
 178   7                                                                              WD_a=tmp;
 179   7                                                                      }
C51 COMPILER V8.02   UART                                                                  05/20/2008 17:39:32 PAGE 4   

 180   6                                                                      break;
 181   6                                                              case 4:                                                         //经度处理
 182   6                                                                      if(byte_count<10){
 183   7                                                                              JD[byte_count]=tmp;
 184   7                                                                      }
 185   6                                                                      break;
 186   6                                                              case 5:                                                         //经度方向处理
 187   6                                                                      if(byte_count<1){
 188   7                                                                              JD_a=tmp;
 189   7                                                                      }
 190   6                                                                      break;
 191   6                                                              case 7:                                                         //定位使用的卫星数
 192   6                                                                      if(byte_count<2){
 193   7                                                                              use_sat[byte_count]=tmp;
 194   7                                                                      }
 195   6                                                                      break;
 196   6                                                              case 9:                                                         //高度处理
 197   6                                                                      if(byte_count<6){
 198   7                                                                              Height[byte_count]=tmp;
 199   7                                                                              Height_num++;
 200   7                                                                      }
 201   6                                                                      break;
 202   6                                                      }
 203   5                                                      break;
 204   5                                              case 2:                         //类型2数据接收。GPGSV
 205   5                                                      switch(seg_count){
 206   6                                                              case 3:                                                         //天空中的卫星总数
 207   6                                                                      if(byte_count<2){
 208   7                                                                              total_sat[byte_count]=tmp;
 209   7                                                                      }
 210   6                                                                      break;
 211   6                                                      }
 212   5                                                      break;
 213   5                                              case 3:                         //类型3数据接收。GPRMC
 214   5                                                      switch(seg_count){
 215   6                                                              case 7:                                                         //速度处理
 216   6                                                                      if(byte_count<5){
 217   7                                                                              speed[byte_count]=tmp;
 218   7                                                                              s_num++;
 219   7                                                                      }
 220   6                                                                      break;
 221   6                                                              case 8:                                                         //方位角处理
 222   6                                                                      if(byte_count<5){
 223   7                                                                              angle[byte_count]=tmp;
 224   7                                                                              a_num++;
 225   7                                                                      }
 226   6                                                                      break;
 227   6                                                      }
 228   5                                                      break;
 229   5                                              case 4:                         //类型4数据接收。GPZDA
 230   5                                                      switch(seg_count){
 231   6                                                              case 1:
 232   6                                                                      if(byte_count<6){                               //时间处理
 233   7                                                                              time[byte_count]=tmp;   
 234   7                                                                      }
 235   6                                                                      break;
 236   6                                                              case 2:
 237   6                                                                      if(byte_count<2){
 238   7                                                                              date[byte_count]=tmp;
 239   7                                                                      }
 240   6                                                                      break;
 241   6                                                              case 3:
C51 COMPILER V8.02   UART                                                                  05/20/2008 17:39:32 PAGE 5   

 242   6                                                                      if(byte_count<2){
 243   7                                                                              date[byte_count+2]=tmp;
 244   7                                                                      }
 245   6                                                                      break;
 246   6                                                              case 4:
 247   6                                                                      if((byte_count<4)&&(byte_count>1)){
 248   7                                                                              date[byte_count+2]=tmp;
 249   7                                                                      }
 250   6                                                                      break;                                                  
 251   6                                                      }
 252   5                                                      break;
 253   5                                      }
 254   4                              }
 255   3                              byte_count++;           //接收数位加1
 256   3                              break;
 257   3              }
 258   2      
 259   2         }
 260   1      
 261   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    627    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     72    ----
   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 + -