主题:[求助] 共有89982人关注过本帖 |
---|
![]() 睡觉321 |
1楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
[求助] ![]() 请问一下,关于提供的串口通讯例程,源代码中打开的串口具体是哪一个?通过什么命令来打开串口? |
单帖管理 | 引用 | 回复 ![]() |
![]() hzc |
2楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]() 你好,打开串口是通过源码中的open函数实现的,而具体打开哪一路串口,是通过open中的参数决定的。具体的说明请参考我们在光盘资料中提供的《英利Linux工控主板应用程序编程手册》。 |
单帖管理 | 引用 | 回复 ![]() |
![]() 睡觉321 |
3楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]() 提供的例程中打开串口的就是这个open函数吗? |
单帖管理 | 引用 | 回复 ![]() |
![]() hzc |
4楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]() 是的,这是linux打开设备文件的标准操作。 |
单帖管理 | 引用 | 回复 ![]() |
![]() 睡觉321 |
5楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
串口通讯例程 ![]() 我运行了提供的串口通讯例程,为什么隔一会就出现乱码了?前面的0x11是我发送的数据,后面从0x0开始就不是我发的了。为什么会这样呢? |
单帖管理 | 引用 | 回复 ![]() |
x10 |
6楼 |
![]() |
![]() 请问用的是什么型号的主板,哪个串口?对端是什么设备,PC吗? |
单帖管理 | 引用 | 回复 ![]() |
![]() 睡觉321 |
7楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]() 使用主板的EMS 3354 ,串口是COM5(RS485转USB与PC连接),对端是PC,PC机使用串口调试助手发送数据。 |
单帖管理 | 引用 | 回复 ![]() |
![]() hzc |
8楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]() 你好,我们提供的例程在收到数据后,会进行回发。 因为RS485是半双工的通讯方式,如果是使用的RS485进行通讯测试的话,需要把代码中的回发去掉,否则一收到数据就回发会造成RS485总线上的数据出现错误,所以打印信息也就不对了。 |
单帖管理 | 引用 | 回复 ![]() |
![]() 睡觉321 |
9楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]() 如果使用RS232的串口,那么在PC上收到的应该是31到39这几个数据吗? |
单帖管理 | 引用 | 回复 ![]() |
![]() 睡觉321 |
10楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]() 回发的代码是下图这一个函数吗? |
单帖管理 | 引用 | 回复 ![]() |
x10 |
11楼 |
![]() |
![]() 建议先用RS232全双工串口(ttyS1)做基本的代码测试,把代码搞清楚后,再转到半双工的RS485上,这样效率最高,节省时间。 |
单帖管理 | 引用 | 回复 ![]() |
![]() 睡觉321 |
12楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]() 好的,谢谢 |
单帖管理 | 引用 | 回复 ![]() |