STM32F103C8串口中断里可以重启芯片吗?
现在我利用USART2接收一组数据然后执行重启命令:__set_FAULTMASK(1);
NVIC_SystemReset();
但是重启后,如果再收到串口数据时就进入硬中断 HardFault_Handler。
而如果不在中断中执行重启命令,就不会产生错误。
所以想问,在执行重启命令时需要满足什么条件,在中断里可不可以重启?
可以重启。请确定一下是否进行了复位操作。 安 发表于 2018-12-1 09:56
可以重启。请确定一下是否进行了复位操作。
同样的程序在另一块板子上试了几十次都没问题。。。 当然可以了。 党国特派员 发表于 2018-12-1 10:33
当然可以了。
嗯 可以。现在怀疑硬件哪里有问题了,因为同样的程序在别的板子上没出现问题:lol 重启相当于是优先级最高的中断,应该是没问题的 中断服务函数里面放入重启的子函数就可以了,如果不行说明你硬件设计有问题 stm1024 发表于 2018-12-1 11:33
重启相当于是优先级最高的中断,应该是没问题的
:handshake 一代睡神的崛起 发表于 2018-12-1 13:13
中断服务函数里面放入重启的子函数就可以了,如果不行说明你硬件设计有问题 ...
几十块板子有一块不行,头大。。。 可以把 Stack_Size EQU 0x00000600 这样的值改大点试试
页:
[1]
2