首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PC上的UART错误符号

在PC上的UART错误符号
EN

Stack Overflow用户
提问于 2015-07-08 18:30:46
回答 2查看 1.8K关注 0票数 1
  1. 我正在编写一个简单的程序,将数据从单片机传输到PC机。
  2. 我用FTDI电缆来达到这个目的。
  3. 我发送的数据是从0到9的字符串数字(0x30到0x39作为ascii代码)。
  4. 单片机和PC终端配置为9600 kbps,8位,没有奇偶,没有流量控制,一个停止位。
  5. 当数据从单片机传输到PC机时,符号是错误的.
  6. 当MCU的TX和RX线路相互连接时,我可以看到,所有发送的符号都是由MCU接收的。
  7. 当FTDI电缆(与PC相连)的TX和RX线路相互连接时,PC接收从PC终端发送的所有符号。

我不明白从单片机向PC发送数据会有什么不对。

求你了救命!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-09 06:10:19

解决办法比我想象的简单得多。在我以前的应用程序中,我使用了ATC-810电缆(UART,FT232BL芯片)。在过去,它起了作用,但现在由于某种原因,它不起作用了。来自FTDI的新司机可能是..。当我采取的TTL-232R-3V3电缆-所有的数据,我是从单片机,我收到的PC!

非常感谢你的帮助!

票数 0
EN

Stack Overflow用户

发布于 2015-07-08 19:46:48

你描述的症状表明PC和MCU之间的时间不匹配。UART串行通信可以容忍两端波特率失配<5%。在实践中,由于teh当然是准确的,你可能会逃脱10%的嵌入目标-但这是极端的。要么你的波特率除数被错误地编程,要么你的系统时钟不准确,或者根本不是你认为的频率。在一些用于降低成本的MCU上的RC振荡器可以被关闭-名义上是+/-10%。

您应该直接用示波器验证时钟和波特率,或者费力地验证从PLL到UART波特率生成器的每一个时钟设置。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31300824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档