linux串口并行读取,请教linux串口问题!read读取时buf里只读取到8的倍数?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//žÃ³ÌÐòÊÇÒ»žöÄ£·Â²ÉŒ¯µãµÄ³ÌÐò£¬ÇãÌýŒ¯É¢Æ÷·¢ÀŽµÄµØÖ·ÖžÁÈç¹ûÊÇ×ÔŒºµÄµØÖ·£¬Ôò·¢ËÍÊýŸÝ£¬·ñÔòºöÂÔÖžÁî¡£
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define BAUDRATE B115200
//#define MyAddr 1
#define MODEMDEVICE "/dev/ttyS0"
#define _POSIX_SOURCE 1 /*POSIX compliant source POSIXϵͳŒæÈÝ*/
#define FALSE 0
#define TRUE 1;
volatile int SENT=FALSE;
int fd;
void openserial()
{
struct termios oldtio;
fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY);
if (fd <0) {perror(MODEMDEVICE); exit(-1); }
tcgetattr(fd,&oldtio);
oldtio.c_cflag|=(CLOCAL|CREAD);
oldtio.c_iflag = IGNPAR ; /*ºöÂÔÆæŌУŒìÐòÁÐ*/
oldtio.c_oflag=0;
oldtio.c_cc[VTIME] = 0; /* inter-character timer unused */
oldtio.c_cc[VMIN] = 5; /* blocking read until 5 character arrives */
cfmakeraw(&oldtio);
cfsetispeed(&oldtio,B115200); /*²šÌØÂÊÉèÖÃΪ9600bps*/
cfsetospeed(&oldtio,B115200);
tcsetattr(fd,TCSANOW,&oldtio);
}
void rd()
{
int n;//qaddr,Myaddr;
char buf[50];
n=read(fd,buf,sizeof(buf));//reading sent token
printf(":%s:%d\n",buf,n);
//qaddr=ord(buf[0]);
//Myaddr=ord("1");
if (buf[0]=='I')
{SENT=TRUE;}
}
void wt()
{
int ret1, n;
char buf[10],buf1[]="this is return from clinet";//eading buff
ret1=write(fd,buf1,sizeof(buf1));
printf(":%s:%d\n",buf1,ret1);
}
main()
{
openserial();
rd();
sleep(2);
if (SENT)
{
wt();
}
else
{
write(fd,"wrong addr",10);
printf("it is not my addr:17\n");
}
close(fd);
}
linux串口并行读取,请教linux串口问题!read读取时buf里只读取到8的倍数?相关推荐
- linux 串口 read 超时,请教linux串口问题!read读取时buf里只读取到8的倍数?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 //žÃ³ÌÐòÊÇÒ»žöÄ£·Â²ÉŒ¯µãµÄ³ÌÐò£¬ÇãÌýŒ¯É¢Æ÷·¢ÀŽµÄµØÖ·ÖžÁÈç¹ûÊÇ×ÔŒºµÄµØÖ·£¬Ô ...
- c linux下并行编程指南,Linux环境下C编程指南(第2版)
摘要: <Linux环境下C编程指南(第2版)>系统地介绍在Linux平台下用C语言进行程序开发的过程,通过列举大量的程序实例,使读者能够很快掌握在Linux平台下进行C程序开发的方法和技 ...
- linux shell set 赋值,请教linux下shell 中 set 的用法?
使用set命令可以设置各种shell选项或者列出shell变量.单个选项设置常用的特性. 在某些选项之后-o参数将特殊特性打开.在某些选项之后使用+o参数将关闭某些特性, 不带任何参数的set命令将显 ...
- linux客户端配置网络打印机,请教linux命令行配置和使用网络共享打印机的..._网络编辑_帮考网...
怪萌萝莉 答疑小能手 01-04 TA获得超过2613个赞 首先,要启动CUPS打印服务,用下面这个命令: /etc/init.d/cups start 然后在CUPS服务器主机server中,我们要 ...
- jy61 树莓派_用Linux树莓派来读取JY61的串口数据
简述 有很多的小伙伴说用Linux树莓派来读取JY61的串口数据不知道怎么操作.今天我和大家分享下我是从三个方面分享的.1.JY61和树莓派的连接方式及VNC的使用:2.下载到树莓派的程序是如何编写的 ...
- codesys中打开linux端的串口_干货分享——安卓串口通信
1 引言 串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件.串口通信(Serial Communicatio ...
- 串口通信协议和Linux下的串口编程
一.串口通信介绍: 串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节,尽管比按位字节(byte)的并行通信慢,但是串口可以使用一根线发送数据的同时 ...
- linux下串口通信程序,关于Linux下串口通信的一点心得
1. 打开串口 与其他的关于设备编程的方法一样,在 Linux 下,操作.控制串口也是通过操作起设备文件进行的.在 Linux 下,串口的设备文件是 /dev/ttyS0 或 /dev/ttyS1 等 ...
- linux 串口工具_Zynq下linux系统搭建
引言 Zynq器件将arm和FPGA结合,利用了两者各自的优势,arm可以实现灵活的控制,而FPGA部分可以实现算法加速,这大大扩展了zynq的应用.比如深度学习加速,图像处理等等.PL侧表示FPGA ...
最新文章
- DeepMind新突破!首次用深度学习从第一性原理计算分子能量
- ext.net 开发学习之FileUploadField与Image (四)
- Java中List高效去重
- ITK:应用Exp负图像过滤器
- PHP中的stdClass 【转】
- 路由器POS接入方式
- [hdu2089]不要62(数位dp)
- 不显示参数名_非参数检验 之 非参数卡方检验
- k2698场效应管参数电流_值得一观!场效应管 VS 三极管
- php debugdumpparams,PHP PDOStatement::debugDumpParams讲解
- 剖析基于TUN/TAP虚拟网卡游戏加速器原理
- Autojs4脚本大合集(薅羊毛专业版的脚本)
- CentOS7-Docker-DockerFile-05
- IE 打开速度慢的解决方法
- github的verified标签是什么
- 钉钉考勤接口python3.6调用
- 《算法基础》线性枚举(一)——最值算法
- 【hadoop生态之Hive】Hive的DDL数据定义语言【笔记+代码】
- 4804: 欧拉心算
- php判断百度来路,判断是否通过百度搜索进入你的网站 - 小俊学习网
热门文章
- 【Linux】35. python脚本重命名各子目录下的图片
- fatal error C1189: #error : Building MFC application with /MD[d]
- BigDecimal使用时的参数详解
- mysql dba系统学习(10)innodb引擎的redo log日志的原理 mysql dba系统学习(11)管理innodb引擎的redo log日志的一个问题
- Font Awesome-一款吊炸天的字体图标插件中文全介绍
- 涨姿势!北京地铁原来是16条旅游专线
- 图像检索中相似度度量公式:各种距离
- 鸟哥的Linux私房菜(基础篇)- 一些基础的Linux 问题
- Matlab注释语句
- TP框架中同时使用“or”和“and”