a043934b4b6d001d1abbddeb07d1d3a2
来自「在开发FPGA上比较有用」· 代码 · 共 79 行
TXT
79 行
#include <stdio.h>
#include <string.h>
int main()
{
while(ch=fgetc(fp_scdt))
{
if((ch=fgetc(fp_scdt))=='$')
{
j=1;
data_in[0]='$';
while ((data_in[j]=fgetc(fp_scdt))!='*')
{
putchar(data_in[j]);
j=j+1;
}
}
m=0;
n=j;
for(i=0;i<n;i++)
{
if(data_in[i]==',')
{
m=m+1;
cont[m-1]=i;
}
switch(m)
{
case 0 :
gps_data.mark[i]=data_in[i]; ///数据分包包装
break;
case 1:
gps_data.time[(i-cont[0])]=data_in[i+1];
break;
case 2:
gps_data.value=data_in[i];
break;
case 3:
gps_data.dim[(i-cont[m-1])]=data_in[i+1];
break;
case 4:
gps_data.dim_name=data_in[i];
break;
case 5:
gps_data.lon[(i-cont[m-1])]=data_in[i+1];
break;
case 6:
gps_data.lon_name=data_in[i];
break;
case 9:
gps_data.ddmmyy[(i-cont[m-1])]=data_in[i+1];
break;
}
}
printf("\n");
for(i=0;i<cont[0];i++)
printf("%c",gps_data.mark[i]);
printf("\n");
for(i=0;i<cont[1]-cont[0]-1;i++)
printf("%c",gps_data.time[i]);
printf("\n");
printf("%c",gps_data.value);
printf("\n");
for(i=0;i<cont[3]-cont[2]-1;i++)
printf("%c",gps_data.dim[i]);
printf("\n");
printf("%c\n",gps_data.dim_name);
for(i=0;i<cont[5]-cont[4]-1;i++)
printf("%c",gps_data.lon[i]);
printf("\n");
printf("%c",gps_data.lon_name);
printf("\n");
for(i=0;i<cont[9]-cont[8]-1;i++)
printf("%c",gps_data.ddmmyy[i]);
printf("\n");
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?