嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
《Linux软件工程师(C语言)实用教程》一书的实例源码,很全。
#include <stdio.h>
#include <sys/types.h>
#include<fcntl.h>
#include<termios.h>
#define BAUDRATE B38400
#define MODEMDEVICE "/dev/ttyS1"
int main()
{
int fd,c=0,res;
struct termios oldtio, newtio;
char buf[256];
printf("start ...\n");
fd=open(MODEMDEVICE,O_RDWR | O_NOCTTY);/*鎵撳紑PC鐨凜OM2绔彛*/
if(fd<0)
{
perror(MODEMDEVICE);
exit(1);
}
printf("open...\n");
tcgetattr(fd,&oldtio);
bzero(&newtio,sizeof(newtio));/*娓呴櫎newtio(瀹冧篃鏄釜缁撴瀯浣?)*/
newtio.c_cflag=BAUDRATE |CS8 |CLOCAL|CREAD;
newtio.c_iflag=IGNPAR;
newtio.c_oflag=0;
newtio.c_lflag=ICANON;/*璁剧疆涓烘瑙勬ā寮?*/
tcflush(fd,TCIFLUSH);
tcsetattr(fd,TCSANOW,&newtio);/*鏂扮殑termios浣滀负閫氫俊绔彛鐨勫弬鏁?*/
printf("reading...\n");
while(1)
{
res=read(fd,buf,255);
buf[res]=0;
printf("res=%d vuf=%s\n",res,buf);
if(buf[0]=='@') break;
}
printf("close...\n");
close(fd);
tcsetattr(fd,TCSANOW,&oldtio);/*鎭㈠鏃х殑绔彛鍙傛暟*/
return 0;
}