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

📄 ttytest.c

📁 s3c2410串口发送接收代码
💻 C
字号:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include "rs232.h"int main(){	int  ret,portno,nWritten,nRead;	char bufr[256];        char buft[256];        char pp[2];        int  m,n;        int  npp;                    int  gps_i,SectionID;        char NS,EW;        char lat_degree[3],lat_min[3],lat_sec[5];        char long_degree[4],long_min[3],long_sec[5];        char lat_save[11],long_save[12];        char latitude[11]={'0','0','0','0','0','0','0','0','0','0','\0'};        char longitude[12]={'0','0','0','0','0','0','0','0','0','0','0','\0'};	portno=1;        m=0;        n=0;		ret=OpenCom(portno,"/dev/ttyS1",4800);		if(ret==-1)		{			perror("The /dev/ttyS1 open error.");			exit(1);		}        while(1)        {		printf("Recieving data!**\n");		fflush(stdout);	loop:	npp=ComRd(portno,pp,1,3000); //               printf("pp[0]= %c\n",pp[0]);                if(pp[0]=='$')                {	             nRead=ComRd(portno,bufr,64,3000);                     printf("nRead = %d\n",nRead);                     for(gps_i=0,SectionID=0;gps_i<65;gps_i++)	             {          		  if(bufr[gps_i]==',')              		  {                	       SectionID++;              		  }           		  else              		  {              		       switch(SectionID)                  	       {                    		    case 2:                       		   	  latitude[m]=bufr[gps_i];                                          m++;                        		  break;                    		    case 3:                       		   	  latitude[m]=bufr[gps_i];                                          NS=bufr[gps_i];                        		  break;                  		    case 4:                       			  longitude[n]=bufr[gps_i];                                          n++;                       			  break;                    		    case 5:                       		   	  longitude[n]=bufr[gps_i];                                          EW=bufr[gps_i];                        		  break;                                    case 6:                                          sprintf(lat_save,"%s",latitude);                                          sprintf(long_save,"%s",longitude);                                          m=0;                                          n=0;                                          break;                   		    default:                       			  break;                 		}              		  }                     }       		     if(nRead>=0)		     {			  printf("*****OK\n");                          sprintf(lat_degree,"%c%c",                                  latitude[0],latitude[1]);                          sprintf(lat_min,"%c%c",                                  latitude[2],latitude[3]);                          sprintf(lat_sec,"%c%c%c%c",latitude[5],latitude[6],                                  latitude[7],latitude[8]);                          sprintf(latitude,"%s.%s.%d %c",lat_degree,lat_min,                                  atoi(lat_sec)*60/10000,NS);                          sprintf(long_degree,"%c%c%c",                                  longitude[0],longitude[1],longitude[2]);                          sprintf(long_min,"%c%c",                                  longitude[3],longitude[4]);                          sprintf(long_sec,"%c%c%c%c",longitude[6],longitude[7],                                  longitude[8],longitude[9]);                          sprintf(longitude,"%s.%s.%d %c",long_degree,long_min,                                  atoi(long_sec)*60/10000,EW);                          printf("Lat_save = %s\n",lat_save);                          printf("Long_save = %s\n",long_save);                          printf("Lat = %s\n",latitude);                          printf("Lot = %s\n",longitude);                          m = 0;                          n = 0;		     }		     else			  printf("Timeout\n");                }                else                {                    goto loop;                }                         }		if((ret=CloseCom(portno)==-1))		{			perror("Close com");			exit(1);		}		printf("\n\n");		printf("Exit now.\n");	return;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -