天嵌 ARM开发社区

 找回密码
 注册
查看: 4556|回复: 10

TQ2440的QT文件系统自带的串口程序部能完整读完197个modbus协议传回的数据

[复制链接]
cqqjj3887 发表于 2013-8-21 10:23:08 | 显示全部楼层 |阅读模式
50
本帖最后由 cqqjj3887 于 2013-8-21 10:32 编辑

版主,你好
     我现在用的TQ2440自带的串口程序和自己写的程序在读取modbus传回的数据时(Modbus采用的RS485接口,我是用RS485转RS232接口和开发板进行通信的),当数据格式为07 04 C0 ff ff .......ff 8a 1f  时(中间省略号代表192个 ff  ),可以读到197个完整数据,其中07 04 c0 为数据帧头,8a 1f 为前之前195个的CRC效验码。
但是当数据位 07  04  c0 00  00......00  bf  92时(中间省略处为192个  00),开发板上的串口调试程序只能读到120多个数据,我用自己写的程序遇到的情况也是类似,请版主帮忙看下这是什么原因,在这个地方已经卡好久了。


备注:波特率为19200,校验方式为偶校验,开发板上的串口选择为ttySAC1

wbz073 发表于 2013-8-21 11:50:16 | 显示全部楼层
数据丢失了,buffer设置为4096才是最佳状态,看看
回复

使用道具 举报

 楼主| cqqjj3887 发表于 2013-8-21 13:42:01 | 显示全部楼层
wbz073 发表于 2013-8-21 11:50
数据丢失了,buffer设置为4096才是最佳状态,看看

恩,我试试
回复

使用道具 举报

 楼主| cqqjj3887 发表于 2013-8-21 13:51:59 | 显示全部楼层
cqqjj3887 发表于 2013-8-21 13:42
恩,我试试

版主,我刚把我改的程序试过了,还是不行
请问是不是串口配置有什么地方不对呢?
回复

使用道具 举报

wbz073 发表于 2013-8-21 14:01:16 | 显示全部楼层
cqqjj3887 发表于 2013-8-21 13:51
版主,我刚把我改的程序试过了,还是不行
请问是不是串口配置有什么地方不对呢?

串口看你的设置,也没发现啥问题啊。你把波特率设成9600看看
回复

使用道具 举报

 楼主| cqqjj3887 发表于 2013-8-21 15:46:05 | 显示全部楼层
wbz073 发表于 2013-8-21 14:01
串口看你的设置,也没发现啥问题啊。你把波特率设成9600看看

版主,波特率不能改,modbus那边规定了是19200,改后不能通信,modbus那边发过来的数据在windows下能够正常的接收,但是在开发板上按照目前的设置,中间全为0的时候都会有数据丢失,而且个数是随机的,版主还有其他解决办法没呢?
版主你试过利用电脑上发送这样的数据给TQ2440的开发板上,并且用QT文件系统的串口程序接收没?
回复

使用道具 举报

TQ-lkp 发表于 2013-8-21 17:05:17 | 显示全部楼层
楼主做如下测试,使用PC和ARM板直接连接,用PC来发中间有192个00的数据,看是否能够正常接收
回复

使用道具 举报

 楼主| cqqjj3887 发表于 2013-8-21 19:45:33 | 显示全部楼层
TQ-lkp 发表于 2013-8-21 17:05
楼主做如下测试,使用PC和ARM板直接连接,用PC来发中间有192个00的数据,看是否能够正常接收

版主,我试过了,但是我这的ARM板不能直接和电脑通信,连接后相互发送消息双方都收不到,也用了开发板自带的串口测试程序,都连接不上
版主,你能不能帮忙测试下,用开发板自带的串口程序和电脑通信
回复

使用道具 举报

 楼主| cqqjj3887 发表于 2013-8-22 11:03:36 | 显示全部楼层
TQ-lkp 发表于 2013-8-21 17:05
楼主做如下测试,使用PC和ARM板直接连接,用PC来发中间有192个00的数据,看是否能够正常接收

版主,麻烦你帮忙测试下,最近项目上追得很紧,在这个地方已经卡很多天了,
回复

使用道具 举报

zfcn 发表于 2013-10-13 22:31:02 | 显示全部楼层
很关心这个问题,我也在研究串口程序。
回复

使用道具 举报

 楼主| cqqjj3887 发表于 2013-10-21 10:40:50 | 显示全部楼层
zfcn 发表于 2013-10-13 22:31
很关心这个问题,我也在研究串口程序。

你可以查看天嵌QT文件系统的嵌入式程序代码,论坛里有源代码,我的问题已经解决了,是485转232的转接口有问题,需要给485供电才能接收到197个数据
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-7 06:27 , Processed in 1.046875 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表