当前位置: 技术问答>linux和unix
如何在linux进行串口操作,并发AT命令?
来源: 互联网 发布时间:2014-11-14
本文导语: int OpenAndInitCom(int *fd) { *fd=-1; *fd=open("/dev/ttyS0",O_RDWR | O_NONBLOCK); if(*fd =-1) retur -1; return 0 ; } int SetMode(int fd) { struct termios newios; tcgetattr(fd,&newios); newios.c_cflag |=B19200 |...
int OpenAndInitCom(int *fd)
{
*fd=-1;
*fd=open("/dev/ttyS0",O_RDWR | O_NONBLOCK);
if(*fd =-1) retur -1;
return 0 ;
}
int SetMode(int fd)
{
struct termios newios;
tcgetattr(fd,&newios);
newios.c_cflag |=B19200 | CS8 | CLOCAL
return rcsetattr(fd,TCSANOW,&newios);
}
int SendAtCmd()
{
char strCmd[128]="";
sprintf(strCmd,"ATrn");
write(fd,strCmd,strlen(strCmd));
}
这样老是不成功。
{
*fd=-1;
*fd=open("/dev/ttyS0",O_RDWR | O_NONBLOCK);
if(*fd =-1) retur -1;
return 0 ;
}
int SetMode(int fd)
{
struct termios newios;
tcgetattr(fd,&newios);
newios.c_cflag |=B19200 | CS8 | CLOCAL
return rcsetattr(fd,TCSANOW,&newios);
}
int SendAtCmd()
{
char strCmd[128]="";
sprintf(strCmd,"ATrn");
write(fd,strCmd,strlen(strCmd));
}
这样老是不成功。
|
设置波特率用cfsetispeed()和cfsetospeed()试试。