linux下串口编程注意事项
2014-12-14 21:54
302 查看
设备:PC机装centos6.5系统,高精度 6 轴惯性导航模块(淘宝上30几块钱买的),TTL转RS232模块(淘宝9.9包邮)
目的:读取导航模块输出的数据,做成api为其它程序提供导航数据
方法:PC通过转换模块与导航模块连接读取数据
注意事项:
1)接线
a.PC和转换模块连接。当然是RX对TX,TX对RX,GND对GND;针脚的编号,公头的顺序和母头的顺序刚好相反,这样公母才能接上;幸好转换模块是母头直接插就行了(不要鄙视我,觉得这个公头母头真的太形象了)
b.转换模块和导航模块连接。TX对TX,TX对RX;转换模块的VCC要接+5V,不接的话数据有乱码;导航模块的VCC按说明说可接3V~6V;两个GND不要直接连,要连在各自VCC对应的GND上(是要形成回路吗?不清楚)
c.导航模块和PC不要直接相连,TTL的电压和RS232的电压不一样,会有乱码的。
2)程序
程序参考其他现成的就可以。串口设置时,struct termios 的成员变量c_cflag的结构,大概可以按下边的理解
这个和ARM cortex系列的控制量设置很想,不知道这样理解对不对。
在写打开串口时采用同步I/O即fd=open("/dev/ttySx",O_RDONLY|O_SYNC),x表示将要打开的串口号。如果不采用同步I/O,收到数据后,不会马上显示出来,要等缓冲满了才行,不过读操作默认的是同步I/O。但写的时候就要注意了,用write()函数写,默认的可不是同步I/O,要在打开的时候用fd=open("/dev/ttySx",O_WRONLY|O_SYNC),这样写的内容才能马上发送出去,要不要等个什么东西(什么东西我也不知道
),只是没用同步模式,老是在写完数据后发不出去要用个echo
>/dev/ttySx命令才发的出去。
注:这是我用串口读数据时遇到的问题,供自己以后查阅,不对内容负责
目的:读取导航模块输出的数据,做成api为其它程序提供导航数据
方法:PC通过转换模块与导航模块连接读取数据
注意事项:
1)接线
a.PC和转换模块连接。当然是RX对TX,TX对RX,GND对GND;针脚的编号,公头的顺序和母头的顺序刚好相反,这样公母才能接上;幸好转换模块是母头直接插就行了(不要鄙视我,觉得这个公头母头真的太形象了)
b.转换模块和导航模块连接。TX对TX,TX对RX;转换模块的VCC要接+5V,不接的话数据有乱码;导航模块的VCC按说明说可接3V~6V;两个GND不要直接连,要连在各自VCC对应的GND上(是要形成回路吗?不清楚)
c.导航模块和PC不要直接相连,TTL的电压和RS232的电压不一样,会有乱码的。
2)程序
程序参考其他现成的就可以。串口设置时,struct termios 的成员变量c_cflag的结构,大概可以按下边的理解
这个和ARM cortex系列的控制量设置很想,不知道这样理解对不对。
在写打开串口时采用同步I/O即fd=open("/dev/ttySx",O_RDONLY|O_SYNC),x表示将要打开的串口号。如果不采用同步I/O,收到数据后,不会马上显示出来,要等缓冲满了才行,不过读操作默认的是同步I/O。但写的时候就要注意了,用write()函数写,默认的可不是同步I/O,要在打开的时候用fd=open("/dev/ttySx",O_WRONLY|O_SYNC),这样写的内容才能马上发送出去,要不要等个什么东西(什么东西我也不知道
),只是没用同步模式,老是在写完数据后发不出去要用个echo
>/dev/ttySx命令才发的出去。
注:这是我用串口读数据时遇到的问题,供自己以后查阅,不对内容负责
相关文章推荐
- LINUX下的串口编程注意事项
- linux 串口 c语言编程需要注意的事项
- Linux下C语言编程的注意事项
- 新手学堂:Linux下C语言编程的注意事项
- Linux下Socket网络编程send和recv使用注意事项
- 盘点Linux操作系统下C语言编程注意事项
- Linux操作系统下C语言编程注意事项
- 您知道Linux下C语言编程的一些注意事项吗_教育中国
- Linux socket 编程中 write 函数使用的注意事项
- 多个串口通讯编程注意事项
- Linux下Socket网络编程send和recv使用注意事项
- 关于Linux操作系统下C语言编程注意事项
- Linux操作系统下C语言编程的注意事项
- Linux网络编程----bind自动获取自己的IP和PORT,端口使用的注意事项
- linux-c udp编程注意事项
- Linux下C语言编程的注意事项
- Linux下C编程注意事项
- Linux下C编程注意事项
- 串口调试小节之三 Linux串口应用层编程注意
- linux下的C语言编程注意事项