以文本方式查看主题 - 公司论坛 (https://emtronix.com/club/index.asp) -- 技术问答 (https://emtronix.com/club/list.asp?boardid=1) ---- [求助] (https://emtronix.com/club/dispbbs.asp?boardid=1&id=4877) |
-- 作者:睡觉321 -- 发布时间:2019-5-6 16:11:00 -- [求助] 请问一下,关于提供的串口通讯例程,源代码中打开的串口具体是哪一个?通过什么命令来打开串口? |
-- 作者:hzc -- 发布时间:2019-5-7 9:44:00 -- 你好,打开串口是通过源码中的open函数实现的,而具体打开哪一路串口,是通过open中的参数决定的。具体的说明请参考我们在光盘资料中提供的《英利Linux工控主板应用程序编程手册》。 |
-- 作者:睡觉321 -- 发布时间:2019-5-7 10:23:00 -- 提供的例程中打开串口的就是这个open函数吗? |
-- 作者:hzc -- 发布时间:2019-5-7 13:13:00 -- 是的,这是linux打开设备文件的标准操作。 |
-- 作者:睡觉321 -- 发布时间:2019-5-7 14:27:00 -- 串口通讯例程 我运行了提供的串口通讯例程,为什么隔一会就出现乱码了?前面的0x11是我发送的数据,后面从0x0开始就不是我发的了。为什么会这样呢? |
-- 作者:x10 -- 发布时间:2019-5-7 15:17:00 -- 请问用的是什么型号的主板,哪个串口?对端是什么设备,PC吗? |
-- 作者:睡觉321 -- 发布时间:2019-5-7 15:58:00 -- 使用主板的EMS 3354 ,串口是COM5(RS485转USB与PC连接),对端是PC,PC机使用串口调试助手发送数据。 |
-- 作者:hzc -- 发布时间:2019-5-7 17:33:00 -- 你好,我们提供的例程在收到数据后,会进行回发。 因为RS485是半双工的通讯方式,如果是使用的RS485进行通讯测试的话,需要把代码中的回发去掉,否则一收到数据就回发会造成RS485总线上的数据出现错误,所以打印信息也就不对了。 |
-- 作者:睡觉321 -- 发布时间:2019-5-7 21:04:00 -- 如果使用RS232的串口,那么在PC上收到的应该是31到39这几个数据吗? |
-- 作者:睡觉321 -- 发布时间:2019-5-7 21:12:00 -- 回发的代码是下图这一个函数吗? |
-- 作者:x10 -- 发布时间:2019-5-7 22:28:00 -- 建议先用RS232全双工串口(ttyS1)做基本的代码测试,把代码搞清楚后,再转到半双工的RS485上,这样效率最高,节省时间。 |
-- 作者:睡觉321 -- 发布时间:2019-5-8 14:30:00 -- 好的,谢谢 |