打印
[STM32F1]

串口引起的死机

[复制链接]
1135|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wyjie|  楼主 | 2021-7-3 17:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用STM32F103RC制作了一批产品,有一个串口连接了一个第三方设备,发现在使用的过程中,会造成不定期的死机。
请问,这个问题可能性会出现在那里?

使用特权

评论回复
沙发
wyjie|  楼主 | 2021-7-3 17:33 | 只看该作者
定期的周期大约是3--5几个小时不等。

使用特权

评论回复
板凳
juventus9554| | 2021-7-3 17:37 | 只看该作者

还有什么现象?能再详细描述下吗?

使用特权

评论回复
地板
wyjie|  楼主 | 2021-7-3 17:39 | 只看该作者
产品使用到了 UART1,UART2,UART4.
UART1:收发指令,解析PC端口的数据;
UART2,UART4:只发不收。但是第三方设备会主动向外发指令返回自己的工作状态。

UART1,2,4 配置如下:

    // 使能串口接收中断
    USART_ITConfig(UART1_USART,USART_IT_TC,DISABLE);  //关闭发送完成中断
    USART_ITConfig(UART1_USART,USART_IT_RXNE,ENABLE);  //关闭接收中断
    USART_ITConfig(UART1_USART,USART_IT_IDLE,ENABLE);//开启总线空闲中断
    // 使能串口
    USART_Cmd(UART1_USART, ENABLE);


有一个特殊的地方,是:
UART1接受到了PC指令,会根据数据协议格式改变UART2,4的波特率,更改波特率之后,继续发送UART1接收到的一些数据内容,通过UART2,UART4转发。
请问,在这种状况下,配置UART2,UART4,有什么特别的地方吗?

使用特权

评论回复
5
wyjie|  楼主 | 2021-7-3 17:41 | 只看该作者
我在修改波特率的时候,只是重新把串口又初始化了一遍,包括配置中断。这样会有问题吗?

使用特权

评论回复
6
wyjie|  楼主 | 2021-7-3 17:43 | 只看该作者
程序问题

使用特权

评论回复
7
wyjie|  楼主 | 2021-7-3 17:45 | 只看该作者
哦?您说是程序问题?是哪里的呢?是不应该全部初始化一遍吗?

使用特权

评论回复
8
chuxh| | 2021-7-3 17:47 | 只看该作者
你确定死机源于串口通信吗?

使用特权

评论回复
9
supernan| | 2021-7-3 17:49 | 只看该作者
如果不做串口通信就不死机?

使用特权

评论回复
10
dingy| | 2021-7-3 18:19 | 只看该作者
如果是,检查下跟串口通信有关的溢出中断、出错中断是否开启了

使用特权

评论回复
11
wyjie|  楼主 | 2021-7-3 18:24 | 只看该作者
如果开启了,确认下相关中断标志能得到适时的处理

使用特权

评论回复
12
chuxh| | 2021-7-3 18:29 | 只看该作者
否则可能没完没了地进类似中断。

使用特权

评论回复
13
dengdc| | 2021-7-3 18:33 | 只看该作者
如果不做串口通信 还是死机,不妨检查下电源、BOOT脚地连接情况。

使用特权

评论回复
14
lizye| | 2021-7-3 18:35 | 只看该作者
可重现的问题最好判断,先屏蔽一段程序,运行一段时间看看死机吗?

使用特权

评论回复
15
jiajs| | 2021-7-3 18:36 | 只看该作者
如果没有,继续屏蔽下一段程序,否则就是该程序段有问题。

使用特权

评论回复
16
wyjie|  楼主 | 2021-7-3 18:38 | 只看该作者
也对!你说的也对!

使用特权

评论回复
17
zwll| | 2021-7-3 18:40 | 只看该作者
应该一直在中断里面有没出来

使用特权

评论回复
18
llljh| | 2021-7-3 18:42 | 只看该作者
或者数组越界了,不过前面那种可能性大一点,

使用特权

评论回复
19
juventus9554| | 2021-7-3 18:44 | 只看该作者
你可以用调试一下看一下死机的时候是不是在串口中断里面

使用特权

评论回复
20
wyjie|  楼主 | 2021-7-3 18:46 | 只看该作者
这个……数组越界 从机只发不到十几个字节。。。我一直以为是AC220干扰引起的死机

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

927

主题

12706

帖子

5

粉丝