📄 gps_test.c
字号:
/* func:send a message "hello ,bcng!" */
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <termios.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <string.h>
int OpenCom1(void);
void DialPhone(int);
int fd;
#define MAXNUM 100
/* open com1 */
int OpenCom1()
{
int Com1;
struct termios oldtio,newtio;
Com1 = open("/dev/ttyS2", O_RDWR | O_NOCTTY);
if (Com1 <0)
{
printf("Could not open Serial port!\n");
return 0;
}
tcgetattr(Com1,&oldtio);
newtio.c_iflag=0;
newtio.c_oflag=0;
newtio.c_cflag=CLOCAL | CREAD | CS8 ;
cfmakeraw(&newtio);
newtio.c_cflag &= ~PARENB ; //no pari
newtio.c_cflag &=~CSTOPB;
newtio.c_cflag|= IXON |IXOFF |IXANY;
newtio.c_lflag=0;
cfsetispeed(&newtio,B9600);
cfsetospeed(&newtio,B9600);
newtio.c_cc[VTIME] = 0;
newtio.c_cc[VMIN] = 1;
tcflush(Com1, TCIFLUSH);
tcflush(Com1, TCOFLUSH);
tcsetattr(Com1,TCSANOW,&newtio);
fcntl(Com1,F_SETFL,0);
return Com1;
}
void dial( )
{
int i;
unsigned char RevData[MAXNUM];
unsigned char SendData[MAXNUM]="ATD13308491324;";
SendData[15]=0x0d;
if(write(fd,SendData,16)<0)
printf("write error");
else
{
i=read(fd,RevData,MAXNUM);
printf("received %d charater: %s\n",i,RevData);
}
}
void read_rssi()
{
int i;
unsigned char RevData[MAXNUM];
unsigned char SendData[MAXNUM]="at+csq";
SendData[6]=0xd;
if(write(fd,SendData,7)<0)
{
printf("write error");
}
else
{
sleep(0);
RevData[0]=0;
RevData[1]=0;
i=read(fd,RevData,MAXNUM);
printf("received %d charater: %s\n",i,RevData);
}
}
void senddata()
{
int i;
unsigned char RevData[MAXNUM];
unsigned char SendData[MAXNUM]="hello,world!";
SendData[13]=0xd;
if(write(fd,SendData,13)<0)
{
printf("write error");
}
else
{
printf("hello,world!\n");
}
}
int recedata()
{
int i,num;
unsigned char RevData[MAXNUM];
unsigned char SendData[MAXNUM]="ate0";
num=read(fd,RevData,MAXNUM);
printf("received %d charater:",num);
for (i=0;i<num;i++)
printf("%x",i,RevData[i]);
printf("\n");
}
int detect_g20()
{
int i;
unsigned char RevData[MAXNUM];
unsigned char SendData[MAXNUM]="ate0";
SendData[3]=0xd;
if(write(fd,SendData,5)<0)
{
printf("write error");
return 0;
}
else
{
sleep(0);
RevData[0]=0;
RevData[1]=0;
i=read(fd,RevData,MAXNUM);
printf("received %d charater: %s\n",i,RevData);
if ((RevData[0]=='O')&&(RevData[1]=='K'))
return 1;
else
return 0;
}
}
main()
{
int FunctionIndex;
fd = OpenCom1();
if (fd<0) exit(1);
printf("\n");
printf("+----------------------------------------+\n");
printf("| ARM Linux wireless module |\n");
printf("+----------------------------------------+\n");
printf("\n");
printf("\n Please select the function to test ( Main Menu):");
printf("\n 1: send data for wireless modules");
printf("\n 2: receive data for wireless modules");
printf("\n 0: Exit\n");
for(;;)
{
scanf("%d",&FunctionIndex);
switch(FunctionIndex)
{
case 1: senddata();
break;
case 2:
recedata();
break;
case 0:
exit(1);
default:
exit(1);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -