【RT-Thread创新应用设计大赛】串口接收/打开错误问题

描述

    记录在做rt thread创新应用大赛的时候遇到的一个小问题。

逛论坛的时候偶然发现了rt thread创新应用大赛,还有开发板可以领,想到最近一直想做的云台项目,同时也想学习一下最近很火的RT THREAD系统,果断提交了申请。

   过了大概2周,板子到手了,还是比较早的第二批。领到的是中科蓝讯的AB32V1开发板,心里有点小兴奋。按着指导文档一一下载好开发软件和例程,参考文档,etc。

按图索骥把环境搭好,插上USB线,串口没有主动安装驱动。但是这都不是事,安装CH340E串口驱动是家常便饭,顺手就上网搜了一个驱动下来,安装上,串口识别到了。

插上USB线,开发板电源指示灯亮了起来。先尝试在自己的环境上编译一个例程,点个流水灯。按着官方的《中科蓝讯AB32VG1开发实践指南》导入了第一个例程,第一把编译没通过,查看告警信息,一个是没有声明NULL,另一个个是找不到unit8_t。单击告警信息就能自动跳到报错的地方,告警信息栏下面还有解决指导,看来这个是新手村入门指导啊。两分钟解决掉,重新编译,通过了。

但是这时候不知道输出文件在哪里,指导书上没说。但是拦不住爱动手的我,在项目文件夹里面翻啊翻,在debug文件夹下面找到了dcf文件格式。

AB32V1这个芯片和以往遇到的芯片不一样。现在JTAG协议和SWD协议横行,正常都能通过JTAG下载器或者SWD下载器给芯片烧写程序。AB32V1上这两种接口都没有。我看着手里的JLINK和ST LINK发愁。

实际上我没有发愁,因为我看了官方文档,AB32V1是用串口下载的,而且开发板上就集成了下载的串口。所以只需要连一根USB线就可以下载了。但是又跟STM32的下载方式不同,STM32是需要将BOOT引脚拉低来进入系统存储模式,然后才能通过串口下载。AB32V1只需要接上串口,板上的1-wire下载电路会自动搞定下载模式的部分,看起来是很省事呢。而且,AB32V1的下载协议也不同于ISP协议,所以AB32V1只能通过专用的Downloader软件来下载。

 

然而此时…噩耗来了。

解压了从gitee仓库下载下来的downloader软件之后,连上开发板,串口可以正常识别。勾选中AB32V1开发板的串口,downloader软件开始扫描串口,激动的等待中。结果我等来的不是想象中的“就绪”,而是出乎意料的“串口发送错误”。

RT-Thread

 

问题不大,只要是常见的问题,就会是很多人会遇到的问题。遇事不决上某度。

呃,结果某度上根本找不到同样遇到这个问题的人。

 

首先是对比了一下跳线帽的位置,排查接线问题。---OK

然后量了板子上几个电源的电压。--------------------------OK

再尝试重新插拔,上下电开发板。--------------------------问题依旧

尝试在识别开发板的时候按复位健重启--------------------问题依旧

尝试换其他版本的downloader软件-------------------------问题依旧

怀疑芯片失效,尝试更换AB32芯片------------------------芯片买到了,未执行

 

因为这个时候我换了一个电脑再来尝试下载。开发板秒识别到了!!

我简直要老泪纵横了,开发板没有问题,我默默的放下了花了巨额购买回来的芯片。

 

RT-Thread

 

这个时候就写完了么,当然没有。我不会放过这个问题的,也不是每个人都可以换一个电脑的(其实我换的是我服役多年的老电脑…)。

继续排查之路,两个电脑不一样的地方不多。

首先是驱动,把驱动文件复制过去,卸载掉之前的,重新安装-----------不行

然后把RT-Thread Studio软件卸载,重新安装-----------------------------------不行

换一个downloader软件-----------------------------------------------------------------不行

好像穷途末路了啊。但是这个时候我灵光一闪,想起了以前经常遇到的之后电脑后面板USB口可以用,但是前面板不行的苦逼经验。

把USB线换到了后面板,重新扫描,识别到了!!!问题完美解决。

 

原文地址:http://www.elecfans.com/d/1731440.html

 

下面是技术总结:

目前对于这个问题的结论我猜测1:是download软件问题;2:是CH340问题。

两个猜测方向的原因都是一样的,就是电脑前面板跟后面板的区别:前面板是由USB HUB 提供的,后面板是由南桥直出的。Downloader软件或者CH340对于USB HUB的协议支持有BUG,所以不能跨过带USB HUB的主板通信。

上面的猜测结果本人暂时没有条件锁定根因。希望AB32厂家或者知道这个问题的大佬在下面评论告知一下。也希望大家踊跃讨论。

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分