📄 gprs.c
字号:
/****************************************************************************
【文 件 名 称】gprs.c
【功 能 描 述】三星S3C2440A板无线MODEM程序代码
【程 序 版 本】1.0
【创建人及创建日期】耿海飞( Grant )//2008年12月7日21:59
****************************************************************************/
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <errno.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <termios.h>
#include <stdlib.h>
#include <sys/time.h>
#define BAUDRATE B9600
#define MODEMDEVICE "/dev/ttyS1"
/****************************************************************************
【功能说明】主函数,实现单条AT指令的收发
****************************************************************************/
int main(void)
{
int fd,c=0,res;
char ch;
char s1[20];
struct termios newtio,oldtio;
char buf[256];
printf("Start...\n");
fd = open(MODEMDEVICE,O_RDWR | O_NOCTTY);
if(fd<0){
perror(MODEMDEVICE);
exit(1);}
printf("Open...\n");
tcgetattr(fd,&oldtio);//保存串口原本的设置
bzero(&newtio,sizeof(newtio)); //把newtio这个结构体所有字节清0
newtio.c_cflag = BAUDRATE | CS8 | CLOCAL | CREAD; //8 1 ‘N’9600
newtio.c_iflag = IGNPAR; //忽略奇偶校验
newtio.c_oflag = 0;
newtio.c_lflag = 0; //非正规模式,即传送字符时一个一个传送
newtio.c_cc[VTIME] = 0; //串口一有数据马上就读
newtio.c_cc[VMIN] = 0;
tcflush(fd,TCIOFLUSH); //清除输入输出
tcsetattr(fd,TCSANOW,&newtio); //使设置马上生效
printf("inited ok!...\n");
/****************************************************************************
【功能说明】等待输入指令,回车结束输入
****************************************************************************/
while(1)
{
while((ch=getchar()) != '\n')
{
s1[0]=ch;
write(fd,s1,1);
}
s1[0]=ch;
write(fd,s1,1);
printf("write ok\n");
break;
}
usleep(1000000); //延时一秒,等待数据返回
res=read(fd,buf,255); //读返回的数据
buf[res]=0;
printf("res=%d,%s\n",res,buf);
printf("close...\n");
close(fd);
tcsetattr(fd,TCSANOW,&oldtio); //恢复原来的设置
return 0;
}
/****************************************************************************
****************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -