找回密码
 立即注册
楼主: 天高云淡

关于STC15F2K60S2的UART2收发异常问题

[复制链接]

33

主题

3085

回帖

7234

积分

论坛元老

积分
7234
发表于 2026-7-3 11:03:51 | 显示全部楼层
天高*** 发表于 2026-7-3 10:22
商用产品的代码,不方便发出

一般也不要你的原工程代码,,能出现问题的最简工程就行。没准你弄着弄着就知道咋回事了
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复

使用道具 举报 送花

3

主题

5

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2026-7-3 14:20:56 | 显示全部楼层
增加了测试步骤:
9、项目中用到了time0中断,50us周期(必须)。串口 波特率115200、低优先级;临时将time0的周期改为500us,测试了一段时间,问题没有出现。

由此推断,是time0频繁中断导致UART2卡死

在此,感谢各位支持,谢谢!

点评

115200波特率,也是86.8us接收中断一次,定时器50us中断也不算太快,关键是中断里处理时间要小于50us的一般为好。 你看我用于驱动三相无刷电机时,PWM中断率为30KHz,33us,中断要处理很多事,但是我保证大部分处理  详情 回复 发表于 2026-7-3 15:04
回复

使用道具 举报 送花

83

主题

8317

回帖

1万

积分

超级版主

积分
17932
发表于 2026-7-3 15:04:56 | 显示全部楼层
天高*** 发表于 2026-7-3 14:20
增加了测试步骤:
9、项目中用到了time0中断,50us周期(必须)。串口 波特率115200、低优先级;临时将time ...

115200波特率,也是86.8us接收中断一次,定时器50us中断也不算太快,关键是中断里处理时间要小于50us的一般为好。
你看我用于驱动三相无刷电机时,PWM中断率为30KHz,33us,中断要处理很多事,但是我保证大部分处理都是10us以内,不频繁处理在20us以内,则不会影响串口、定时器、ADC等等别的处理。
回复

使用道具 举报 送花

已绑定手机

24

主题

701

回帖

2731

积分

金牌会员

积分
2731
发表于 2026-7-3 15:38:01 | 显示全部楼层
PIN之间串个电阻试试
回复

使用道具 举报 送花

3

主题

5

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2026-8-6 17:00:12 | 显示全部楼层
梁*** 发表于 2026-7-3 15:04
115200波特率,也是86.8us接收中断一次,定时器50us中断也不算太快,关键是中断里处理时间要小于50us的一 ...

梁工, 我的所有中断程序处理用时极短,只有几十行的赋值判断代码。将 UART2波特率设为9600、中断优先为高,虽然大大的降低了UART2卡死的几率,但仍有一定概率卡死。UART2卡死问题有终极解决方案不?谢谢

点评

串口都能卡死,我没遇到过,我4个串口全双工115200波特率、连续通信都不会卡死。 你测试下面的“06-串口1-串口2-同时中断收发-C语言”, /************* 功能说明 ************** 请先别修改程序, 直接下载"UART1  详情 回复 发表于 2026-8-6 17:07
回复

使用道具 举报 送花

83

主题

8317

回帖

1万

积分

超级版主

积分
17932
发表于 2026-8-6 17:07:43 | 显示全部楼层
天高*** 发表于 2026-8-6 17:00
梁工, 我的所有中断程序处理用时极短,只有几十行的赋值判断代码。将 UART2波特率设为9600、中断优先为 ...

串口都能卡死,我没遇到过,我4个串口全双工115200波特率、连续通信都不会卡死。

你测试下面的“06-串口1-串口2-同时中断收发-C语言”,


/*************        功能说明        **************
请先别修改程序, 直接下载"UART1-UART2.hex"测试, 下载时选择主频22.1184MHZ.
2串口全双工中断方式收发通讯程序。
MCU上电后先发送一串字符串.
上位机通过串口向MCU发送数据, MCU收到后通过串口把收到的数据原样返回.

默认参数:
所有串口均设置均为 1位起始位, 8位数据位, 1位停止位, 无校验.
每个串口可以使用不同的波特率.
串口1(P3.0 P3.1): 115200bps.
串口2(P1.0 P1.1):  57600bps.
******************************************/
我将两个串口设置不同的波特率,你也可以将产口2改为115200。

STC15系列-串口相关程序.rar (248.34 KB, 下载次数: 54)
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-11-7 14:43 , Processed in 0.075118 second(s), 76 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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