大佬教程收集整理的这篇文章主要介绍了正确的Linux串口初始化序列,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我写了一个必须在Linux上使用串口的应用程序,尤其是ttyUSB.使用标准的@R_616_10288@ct()/ read()循环和write()执行读写操作,并且它们可能没有任何问题,但初始化代码(或缺少某些部分)会损坏tty子系统中的某些内容.这里是:
vuxboot(String filename,unsigned baud = B115200) : _debug(false) {
_fd = open(filename.c_str(),O_RDWR | O_NOCTTY);
if(_fd < 0)="" throw="" new="" io_error("cannot="" open="" port");="" serial="" initialization="" was="" written="" with="" ftdi="" usb-to-serial="" converters="" in="" mind.="" anyway,who="" wants="" to="" use="" non-8n1="" protocol?="" tcgetattr(_fd,&_termios);="" termios="" tio="{0};" tio.c_iflag="IGNPAR;" tio.c_oflag="0;" tio.c_cflag="baud" |="" clocal="" |="" cread="" |="" cs8;="" tio.c_lflag="0;" tcflush(_fd,tciflush);="">Now,&tio);
}
另一个tcsetattr(_fd,TCSANow和& _termios)位于析构函数中,但它无关紧要.
无论有没有这个termios初始化,在应用程序退出后系统中都会发生奇怪的事情.有时普通猫(或高清)每次都会立即打印任何东西或相同的东西,有时候它正在等待并且不显示任何肯定会发送到端口的数据;和close()(read(),但不是每次都发出一个奇怪的警告到dmesg referring to usb-serial.c.
我检查了硬件和固件几十次(即使在不同的机器上),我确信它按预期工作;此外,我剥离固件只是一遍又一遍地打印相同的消息.
如何在不破坏任何东西的情况下使用串口?谢谢.
以上是大佬教程为你收集整理的正确的Linux串口初始化序列全部内容,希望文章能够帮你解决正确的Linux串口初始化序列所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。