该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

//žÃ³ÌÐòÊÇÒ»žöÄ£·Â²ÉŒ¯µãµÄ³ÌÐò£¬ÇãÌýŒ¯É¢Æ÷·¢ÀŽµÄµØÖ·ÖžÁÈç¹ûÊÇ×ÔŒºµÄµØÖ·£¬Ôò·¢ËÍÊýŸÝ£¬·ñÔòºöÂÔÖžÁî¡£

#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的倍数?相关推荐

  1. linux 串口 read 超时,请教linux串口问题!read读取时buf里只读取到8的倍数?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 //žÃ³ÌÐòÊÇÒ»žöÄ£·Â²ÉŒ¯µãµÄ³ÌÐò£¬ÇãÌýŒ¯É¢Æ÷·¢ÀŽµÄµØÖ·ÖžÁÈç¹ûÊÇ×ÔŒºµÄµØÖ·£¬Ô ...

  2. c linux下并行编程指南,Linux环境下C编程指南(第2版)

    摘要: <Linux环境下C编程指南(第2版)>系统地介绍在Linux平台下用C语言进行程序开发的过程,通过列举大量的程序实例,使读者能够很快掌握在Linux平台下进行C程序开发的方法和技 ...

  3. linux shell set 赋值,请教linux下shell 中 set 的用法?

    使用set命令可以设置各种shell选项或者列出shell变量.单个选项设置常用的特性. 在某些选项之后-o参数将特殊特性打开.在某些选项之后使用+o参数将关闭某些特性, 不带任何参数的set命令将显 ...

  4. linux客户端配置网络打印机,请教linux命令行配置和使用网络共享打印机的..._网络编辑_帮考网...

    怪萌萝莉 答疑小能手 01-04 TA获得超过2613个赞 首先,要启动CUPS打印服务,用下面这个命令: /etc/init.d/cups start 然后在CUPS服务器主机server中,我们要 ...

  5. jy61 树莓派_用Linux树莓派来读取JY61的串口数据

    简述 有很多的小伙伴说用Linux树莓派来读取JY61的串口数据不知道怎么操作.今天我和大家分享下我是从三个方面分享的.1.JY61和树莓派的连接方式及VNC的使用:2.下载到树莓派的程序是如何编写的 ...

  6. codesys中打开linux端的串口_干货分享——安卓串口通信

    1 引言 串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件.串口通信(Serial Communicatio ...

  7. 串口通信协议和Linux下的串口编程

    一.串口通信介绍: 串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节,尽管比按位字节(byte)的并行通信慢,但是串口可以使用一根线发送数据的同时 ...

  8. linux下串口通信程序,关于Linux下串口通信的一点心得

    1. 打开串口 与其他的关于设备编程的方法一样,在 Linux 下,操作.控制串口也是通过操作起设备文件进行的.在 Linux 下,串口的设备文件是 /dev/ttyS0 或 /dev/ttyS1 等 ...

  9. linux 串口工具_Zynq下linux系统搭建

    引言 Zynq器件将arm和FPGA结合,利用了两者各自的优势,arm可以实现灵活的控制,而FPGA部分可以实现算法加速,这大大扩展了zynq的应用.比如深度学习加速,图像处理等等.PL侧表示FPGA ...

最新文章

  1. DeepMind新突破!首次用深度学习从第一性原理计算分子能量
  2. ext.net 开发学习之FileUploadField与Image (四)
  3. Java中List高效去重
  4. ITK:应用Exp负图像过滤器
  5. PHP中的stdClass 【转】
  6. 路由器POS接入方式
  7. [hdu2089]不要62(数位dp)
  8. 不显示参数名_非参数检验 之 非参数卡方检验
  9. k2698场效应管参数电流_值得一观!场效应管 VS 三极管
  10. php debugdumpparams,PHP PDOStatement::debugDumpParams讲解
  11. 剖析基于TUN/TAP虚拟网卡游戏加速器原理
  12. Autojs4脚本大合集(薅羊毛专业版的脚本)
  13. CentOS7-Docker-DockerFile-05
  14. IE 打开速度慢的解决方法
  15. github的verified标签是什么
  16. 钉钉考勤接口python3.6调用
  17. 《算法基础》线性枚举(一)——最值算法
  18. 【hadoop生态之Hive】Hive的DDL数据定义语言【笔记+代码】
  19. 4804: 欧拉心算
  20. php判断百度来路,判断是否通过百度搜索进入你的网站 - 小俊学习网

热门文章

  1. 【Linux】35. python脚本重命名各子目录下的图片
  2. fatal error C1189: #error : Building MFC application with /MD[d]
  3. BigDecimal使用时的参数详解
  4. mysql dba系统学习(10)innodb引擎的redo log日志的原理 mysql dba系统学习(11)管理innodb引擎的redo log日志的一个问题
  5. Font Awesome-一款吊炸天的字体图标插件中文全介绍
  6. 涨姿势!北京地铁原来是16条旅游专线
  7. 图像检索中相似度度量公式:各种距离
  8. 鸟哥的Linux私房菜(基础篇)- 一些基础的Linux 问题
  9. Matlab注释语句
  10. TP框架中同时使用“or”和“and”