天嵌 ARM开发社区

 找回密码
 注册
查看: 3337|回复: 6

QT4.7下UartTest测试程序问题及部分问题解决办法

 关闭 [复制链接]
0backspace0 发表于 2011-1-18 16:35:18 | 显示全部楼层 |阅读模式
从论坛上下载了一个QT4.7下UartTest测试程序,主要发现了这样两个问题
1.在点击关闭按钮后就不能再正常通讯了。参考了http://bbs.embedsky.net/viewthre ... &extra=page%3D4这个帖子,分析原因估计是qt里面close的用法上有冲突。
2.无论给开发板发送的数据是大写还是小写,在开发板上显示的都是小写。这是能直观看到的,事实上测试下来在0x41-0x5b和0xc0-0xde之间的数据显示都不对 显示的是(0x41+0x20)-(0x5b+0x20)和(0xc0+0x20)-(0xde+0x20)的数据,在修改了close函数后问题(基本)解决了
    但是这之后又发现波特率没法改变了,固定是9600,具体是什么原因也不知道,参考了http://oddy.blog.hexun.com/35193259_d.html一文对程序进行了修改后可以用了。
    目前遗留下来的问题是在往板子上发送0x0D时显示的是0x0A,之前控制台的那个串口测试程序也有类似的问题,那个是发送0A时显示0D,还请各位帮忙看看如何解决这个问题。
    附件中有我改后的程序。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1 +5 收起 理由
neroscofield + 5 能不能教一下我,我的qq是835182221

查看全部评分

embedsky_lhh 发表于 2011-1-19 10:28:37 | 显示全部楼层
以二进制数再以二进制接收,或者以文本字符发送,以文本字符形式接收,也会出现这样的问题?,我看了下你的代码,这个是不是用串口助手调试的,     nread = read(serial_fd,uart_buff,512);
            write(serial_fd,uart_buff,nread);如果是用PC机的串口调试的 ,那你以hex十六进制或二进制形式发送,应该就不会出现这种问题了,还有就是如果是两块TQ2440,烧同样的程序,那你发送跟接收的应该是一样的。
 楼主| 0backspace0 发表于 2011-1-19 10:37:08 | 显示全部楼层
是用调试助手发送的,因为ascii码上有部分数据是不能显示的,是一些控制符,所以都是以十六进制发送的;可惜手上没有两块TQ2440,但是我估计是一样的,因为不管是哪种方式发送,对于串口上的二进制码应该是一样的
 楼主| 0backspace0 发表于 2011-1-20 11:10:11 | 显示全部楼层
怎么就没人回答我问题呢?各路高手,救救我们这些难民撒。
embedsky_lhh 发表于 2011-1-20 14:40:34 | 显示全部楼层
3# 0backspace0


网友,你不相信是二进制与文本换行的区分问题,我建议你可以做个试验,你在QT里往串口写0x0d,你用串口助手以十六进制的数显示,那结果如果是一样?
luke 发表于 2011-3-28 19:08:56 | 显示全部楼层
下下来看看
ljf20023146 发表于 2011-12-15 17:49:28 | 显示全部楼层
我怎么不能下载:@
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-9-28 07:26 , Processed in 1.036173 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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