wangxiangtan 发表于 2024-1-9 23:01:05

【已解决】求助:STC11F02E串口通讯乱码

本帖最后由 wangxiangtan 于 2024-1-10 18:28 编辑

前天晚上焊接的STC11F02E最小系统板,晶振频率24MHz,LED正常点亮:



用手册里面的P3串口程序测试,这个程序的晶振频率是18.432MHz,


接收的是乱码:




搜了一下说是波特率的问题,又试了STC-ISP里面的波特率程序:




试来试去还是接收不到正常数据,字符a、数字1都收不到,
网上搜都是用11.0592、22.1184这种能0误差生成波特率的晶振频率,
刚翻出来一个11.0592的晶振,要不要换上???
还有个没字符的晶振,跟普中开发板上CH430G芯片旁边的一样,不知道频率多少,
老哥们支支招



神农鼎 发表于 2024-1-10 07:48:57

1, 烧录时选择下次的时钟源是外部晶振
===烧录成功后,停电上电,新的设置生效

2,程序中要按外部时钟频率计算


深圳国芯人工智能有限公司-工具软件 (stcai.com)

神农鼎 发表于 2024-1-10 07:53:31





#define FOSC 11059200L      //System frequency
#define BAUD 9600         //UART baudrate

======================================

#define FOSC 24000000L      //System frequency
#define BAUD 9600         //UART baudrate

wangxiangtan 发表于 2024-1-10 08:19:23

神农鼎 发表于 2024-1-10 07:53
#define FOSC 11059200L      //System frequency
#define BAUD 9600         //UART baudrate



莫非我一直在用内部晶振……{:4_167:}

wangxiangtan 发表于 2024-1-10 18:10:38

神农鼎 发表于 2024-1-10 07:53
#define FOSC 11059200L      //System frequency
#define BAUD 9600         //UART baudrate



老哥,这次用了官方手册原版程序,修改#define FOSC 24000000,ISP下载界面取消勾选使用内部IRC,仍然是乱码:



wangxiangtan 发表于 2024-1-10 18:27:04

神农鼎 发表于 2024-1-10 07:53
#define FOSC 11059200L      //System frequency
#define BAUD 9600         //UART baudrate



我用ISP的串口波特率重新计算了一遍,用这个重新计算的初始化代码接收数据正常了:





嵌入式之路 发表于 2024-7-27 05:10:49

虽然看到你这个解决了,但是我也想给你分享一下我遇见的情况. 我这边使用一个USB-ttl工具连接了单片机的串口用来接受数据.接受数据是正常的,但是每次在shell里发送数据(每一个按钮按下的时候)的时候都会出现一个 奇怪的字符. 后来发现是因为RX 和TX交叉,并且线长10CM导致的, 如果你以后也遇见这种情况可以先看看是不是线影响了信号

HangZhouBob 发表于 2024-8-9 21:25:12

赶紧换上11.0592.

程序里就可以用 #define FOSC 11059200L   了

然后下载,还是需要选择 外部硬件的晶振。

就可以成功了 {:4_165:}

soma 发表于 2024-8-9 22:10:18

早期芯片内部晶振和外部晶振使用isp切换,最新的都是固件切换了吧。
页: [1]
查看完整版本: 【已解决】求助:STC11F02E串口通讯乱码