社区
单片机/工控
帖子详情
PIC UART发送乱码问题
dabuyang
2009-06-06 10:27:36
程序如下:
void uart(void)
{unsigned int k;
TXEN=1;
CREN=0;
for(k=0x00;k<0x0E;k++)
{
TXREG=tep1[k];
while(!TXIF);
while(!TRMT);
for( tt=0;tt<2000;tt++)
{;} }
TXEN=0;
}
刚刚发的几分钟内很好用,
但发送时间一长,
乱码率就成倍增加了,
诸神谁有这方面的经验,
还请赐教先
不胜感激!
...全文
287
7
打赏
收藏
PIC UART发送乱码问题
程序如下: void uart(void) {unsigned int k; TXEN=1; CREN=0; for(k=0x00;k<0x0E;k++) { TXREG=tep1[k]; while(!TXIF); while(!TRMT); for( tt=0;tt<2000;tt++) {;} } TXEN=0; } 刚刚发的几分钟内很好用, 但发送时间一长, 乱码率就成倍增加了, 诸神谁有这方面的经验, 还请赐教先 不胜感激!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
flypig8321
2009-07-07
打赏
举报
回复
选择可以产生所需标准波特率的标准晶振
神出鬼没的七叔
2009-07-07
打赏
举报
回复
[Quote=引用 6 楼 flypig8321 的回复:]
选择可以产生所需标准波特率的标准晶振
[/Quote]
大多数都是这个问题
或者看看你板上是不是有其他信号干扰了?
如果也使用了标准的晶振,还找不到问题,我觉得可以排查一下硬件。
iknowjeanzxf
2009-07-02
打赏
举报
回复
解决办法:
1.更换晶振。7.3728M/11.0592M/14.7456M/19.6608M等。这样计算出来的是整数(他们除115200/9600..都是整数)。
2.使用以上晶振,作为串口的波特率发生器。这样板子上会有2个晶振,一个是你原有的晶振,另一个是专给串行通信用的,需要在单片机中设置串口波特率由外部时钟产生。
wulinnm
2009-06-10
打赏
举报
回复
估计是波特率不匹配的原因,我就碰到过这个问题,开始怎么都高不懂,后来波特率调整下就好了
lsffrank
2009-06-08
打赏
举报
回复
应该是波特率不匹配的原因,建议用标准的晶振
dabuyang
2009-06-07
打赏
举报
回复
UART初始化时波特率比9600略小,有没有可以解决这问题的一个终极方案
shen_guang_wu
2009-06-06
打赏
举报
回复
波特率计算是不是有余数,没有除尽?传输过程中时间误差积累
PIC
单片机的一些
问题
文章讨论了在遇到编译错误如error1347时如何调整编译器优化设置,以及在C90和C99标准间切换可能出现的
问题
。此外,文章强调了单片机的ADC采样要考虑运算速度限制,堆栈配置对函数重入的影响,以及如何处理波特率不匹配导致的
UART
通信
问题
。还提到了复数运算在某些单片机环境中的注意事项。
基于MAX485的
PIC
18系列单片机RS-485通信系统设计与实现
本文详细讲解基于
PIC
18系列单片机和MAX485芯片的半双工RS-485通信系统设计,涵盖硬件连接、
UART
配置、多机通信协议、数据校验、环形缓冲区与状态机解析等关键技术,强调时序控制与抗干扰措施,适用于工业控制与远程数据采集场景。
AI智能棋盘结合Microchip
PIC
18F实现串口打印日志
本文介绍基于Microchip
PIC
18F46K22的AI智能棋盘如何通过
UART
实现高效串口日志输出,用于实时监控落子状态与系统行为。通过结构化日志协议、环形缓冲区和自动波特率检测等技术,提升调试效率与系统可靠性,为嵌入式设备提供可观测性支持。
Proteus
UART
波形可视化:调试ESP32-S3输出信号
本文介绍如何利用Proteus实现ESP32-S3的
UART
输出信号波形可视化,通过STM32或8051模型模拟其
UART
行为,在无真实硬件条件下进行通信调试。结合虚拟终端与示波器观测电平变化,精确分析波特率准确性、帧结构完整性及信号稳定性,有效解决
乱码
、时序偏差等
问题
。
【
PIC
单片机】
PIC
10F200学习----虚拟串口(仅
发送
)
文章描述了在使用Kit3下载代码时遇到的编程失败
问题
,原因可能是电源、连接或外设干扰。通过检查电源、擦除Flash和确保无外设连接解决了下载
问题
。另外,作者在实现虚拟串口通信时遇到了
乱码
问题
,发现是for循环延迟导致,通过示波器调试并优化了
发送
函数,成功解决了
乱码
问题
。
单片机/工控
27,521
社区成员
28,799
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章