LINUX下C语言的串口编程数据的发送跟接收

5.1发送端源代码#include<termios.h>#include<stdio.h>#include<unistd.h>#include<fcntl.h>#incl... 5.1发送端源代码
#include <termios.h>
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
int main(int argc,char* argv[])
{
struct termios opt;
char buf[1024];
int fd=open( "/dev/ttyS0",O_RDWR|O_NOCTTY|O_NDELAY);//打开串口
opt.c_cflag|=CLOCAL|CREAD; //激活选项有CLOCAL和CREAD
cfsetispeed(&opt, B115200);//设置波特率,使用函数cfsetispeed、 cfsetospee
cfsetospeed(&opt, B115200);
opt.c_cflag&=~CSIZE; //设置数据位,需使用掩码设置。
opt.c_cflag|=CS8;
opt.c_cflag&=~ PARENB;//不使用奇偶校验
opt.c_cflag &=~CSTOPB;//设置停止位
opt.c_cc[VTIME]=0;//设置最少字符和等待时间
opt.c_cc[VMIN]=0;
tcflush(fd,TCIOFLUSH);//处理要写入的引用对象
tcsetattr(fd,TCSANOW,&opt);//激活配置。
fcntl(fd, F_SETFL, 0);//恢复串口的状态为阻塞状态,用于等待串口? isatty(STDIN_FILENO);//测试打开的文件描述府是否引用一个终端设备,以进一步确认串
memset(buf,0,1024);
printf("请输入要发送的内容\n");
scanf("%s",buf);
for(;;)
{
int len=write(fd,buf,1024);
if(len==0)
return 2;
sleep(1);}
}

5.2接收端源代码
#include <termios.h>
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
int main(int argc,char* argv[])
{
struct termios opt;
char buf[1024];
int fd=open( "/dev/ttyS0",O_RDWR|O_NOCTTY|O_NDELAY);//打开串口
opt.c_cflag|=CLOCAL|CREAD; //激活选项有CLOCAL和CREAD
cfsetispeed(&opt, B115200);//设置波特率,使用函数cfsetispeed、 cfsetospee
cfsetospeed(&opt, B115200);
opt.c_cflag&=~CSIZE; //设置数据位,需使用掩码设置。
opt.c_cflag|=CS8;
opt.c_cflag&=~ PARENB;//不使用奇偶校验
opt.c_cflag &=~CSTOPB;//设置停止位
opt.c_cc[VTIME]=0;//设置最少字符和等待时间
opt.c_cc[VMIN]=0;
tcflush(fd,TCIOFLUSH);//处理要写入的引用对象
tcsetattr(fd,TCSANOW,&opt);//激活配置。
fcntl(fd, F_SETFL, 0);//恢复串口的状态为阻塞状态,用于等待串口? isatty(STDIN_FILENO);//测试打开的文件描述府是否引用一个终端设备,以进一步确认串
memset(buf,0,1024);
printf("请输入要发送的内容\n");
scanf("%s",buf);
for(;;)
{
memset(bulf,0,1024);
int len=read(fd,bulf,1024)
if(len !=0)
printf(bulf);
sleep(1);}
}
为什么无法发送。或者可能无法接收
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
a263238386
2011-12-25 · 超过17用户采纳过TA的回答
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:62.9万
展开全部
用libserial库吧
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
649063655
2011-12-25
知道答主
回答量:4
采纳率:0%
帮助的人:6597
展开全部
fasfsa afs
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
罗见许
2011-12-28 · TA获得超过212个赞
知道答主
回答量:150
采纳率:100%
帮助的人:66.6万
展开全部
静待
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式