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

📄 gprs.c

📁 可实现短信收发 打接电话
💻 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 + -