TL1 = 0xE8; TH1 = 0xFF; |
波特率设置错了, 如果两个单片机之间都是一样错误的,是可以通讯的 但是和标准波特率不行 |
一版下载工具上都有基于晶振自动生成波特率配置代码的工具,用那个,然后用HEX发送就收就可以看到了 |
我问板上的晶振是多大的?12M还是11.0592M?它俩可不是一样的。它俩对串口可有老大关系了。应该是11.0592才对吧.这你可得看好。如果装个12M的晶振。那串口就不会有正确的结果的。 |
TL1=256-SYSTEMCLOCK/12/32/BAUD; TH1=256-SYSTEMCLOCK/12/32/BAUD; 改成 TL1= 65536 - SYSTEMCLOCK/12/32/BAUD ; TH1= ( 65536-SYSTEMCLOCK/12/32/BAUD )>> 8 ; (没有查过资料,可能是错的) |
串口助手换成hex模式看看数据是什么样子的。 |
接收 用hex模式 |
用HEX方式吧,你没有处理过的数据是十六进制,而不是ASCII内码 |
啤酒瓶子老大 发表于 2022-6-28 11:31 12MHz,11.0592MHz STC89C52RC单片机 |
1. 用以前调好的串口程序跑一下,看有没有输出; 2. 对比以前运行正常的代码,检查波特率及配置是否正确; |
板上的晶振是多大的? |