打印
[STM32F1]

sTM32F103串口死机

[复制链接]
3294|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tcc8073|  楼主 | 2015-8-15 09:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 tcc8073 于 2015-8-15 09:38 编辑

sTM32F103串口死机,使用921600BS自发自收,1MS发到7个字节就会死机,不知道为什么,
if(USART_GetITStatus(USART2, USART_FLAG_ORE) != RESET)  //接收中断
    {USART_ReceiveData(USART2);}
if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)  //接收中断
    {   
        USART_ClearITPendingBit(USART2,USART_IT_RXNE); //清除中断标志
     USART_ClearFlag(USART2,USART_FLAG_RXNE);
        USART_ClearFlag(USART2, USART_FLAG_TC);                                                         
        USART_SendData(USART2,USART_ReceiveData(USART2));                  
        while(USART_GetFlagStatus(USART2, USART_FLAG_TC)==RESET);
        return ;
    }

使用在串口转CAN的设计,1MS CAN自发自收1MS发送多字节也是会死机,开了系统看门狗都不行,怀疑是串口死机后不能再进入串口接收中断。
沙发
amanda_s| | 2015-8-17 15:09 | 只看该作者
能知道是死在哪里了吗?

使用特权

评论回复
板凳
amanda_s| | 2015-8-17 15:09 | 只看该作者
调试能看出来吗?

使用特权

评论回复
地板
tcc8073|  楼主 | 2015-8-17 16:17 | 只看该作者

CAN 中断接收一段时间后不能再进入中断

本帖最后由 tcc8073 于 2015-8-28 12:39 编辑

调试显示是在再也进不了串口中断,我也按照一些对应的串口BUG做了处理,还是会死机,我知道很多串口快速互相对发也会丢数据,但是死机应该不会,不知道STM32串口我还要注意些什么。
确定进入HARDFAULT_HANDLER错误,数据越界产生的,对数组范围做限制解决了。

新问题:二个板互相发数据1MS传送13个数据,会死机,通过测试发现是不能再进入CAN中断造成的,对STM32F103 CAN不是很熟悉,但是按照资料已经做了清标志位,清邮箱的工作。不知道是不是进入了错误中断中没有做处理造成的,请问有哪位有这方面经验吗

使用特权

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

本版积分规则

179

主题

1359

帖子

7

粉丝