找回密码
 立即注册
查看: 969|回复: 8

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

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:513
  • 最近打卡:2025-05-02 07:32:37

21

主题

564

回帖

2678

积分

金牌会员

积分
2678
发表于 2024-1-9 23:01:05 | 显示全部楼层 |阅读模式
本帖最后由 wangxiangtan 于 2024-1-10 18:28 编辑

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

AC8E2546116385419291DFABA7056F96.jpg

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

接收的是乱码:

串口接收乱码1.jpg


搜了一下说是波特率的问题,又试了STC-ISP里面的波特率程序:
24MHz波特率计算8位自动重载.jpg

24MHz波特率计算16位自动重载.jpg

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



回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2024-1-10 07:48:57 | 显示全部楼层
1, 烧录时选择下次的时钟源是外部晶振
===烧录成功后,停电上电,新的设置生效

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


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

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2024-1-10 07:53:31 | 显示全部楼层
截图202401100752415017.jpg



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

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

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

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:513
  • 最近打卡:2025-05-02 07:32:37

21

主题

564

回帖

2678

积分

金牌会员

积分
2678
发表于 2024-1-10 08:19:23 | 显示全部楼层
神*** 发表于 2024-1-10 07:53
#define FOSC 11059200L      //System frequency
#define BAUD 9600           //UART baudrate

莫非我一直在用内部晶振……
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:513
  • 最近打卡:2025-05-02 07:32:37

21

主题

564

回帖

2678

积分

金牌会员

积分
2678
发表于 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,仍然是乱码:

官方程序还是乱码.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:513
  • 最近打卡:2025-05-02 07:32:37

21

主题

564

回帖

2678

积分

金牌会员

积分
2678
发表于 2024-1-10 18:27:04 | 显示全部楼层
神*** 发表于 2024-1-10 07:53
#define FOSC 11059200L      //System frequency
#define BAUD 9600           //UART baudrate

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

接收正常.jpg

接收正常的串口波特率计算.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:449
  • 最近打卡:2025-04-30 10:57:37

17

主题

533

回帖

1326

积分

金牌会员

积分
1326
发表于 2024-7-27 05:10:49 | 显示全部楼层
虽然看到你这个解决了,但是我也想给你分享一下我遇见的情况. 我这边使用一个USB-ttl工具连接了单片机的串口用来接受数据.接受数据是正常的,但是每次在shell里发送数据(每一个按钮按下的时候)的时候都会出现一个 奇怪的字符. 后来发现是因为RX 和TX交叉,并且线长10CM导致的, 如果你以后也遇见这种情况可以先看看是不是线影响了信号
自信就会温和,温和就会坚定!
回复 支持 反对

使用道具 举报 送花

0

主题

2

回帖

18

积分

新手上路

积分
18
发表于 2024-8-9 21:25:12 | 显示全部楼层
赶紧换上11.0592.

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

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

就可以成功了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-03 00:02:01
已绑定手机

19

主题

3191

回帖

4876

积分

论坛元老

积分
4876
发表于 2024-8-9 22:10:18 | 显示全部楼层
早期芯片内部晶振和外部晶振使用isp切换,最新的都是固件切换了吧。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 00:44 , Processed in 0.135277 second(s), 102 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表