| stm32f401和热电偶芯片max31855通过spi通讯,如果没有将spi的相关中断优先级置于最高优先级,程序运行几秒后就会死机,将spi中断设置为最高优先级,程序可正常运行 |
根据你的描述,SPI的中断优先级较低时可能导致死机,你看看SPI中断服务程序里代码没有及时运行而可能导致死机的。
spi中断服务子程序很简单,只有几行数**算,应该不会导致死机。 我主要怀疑spi是属于同步通讯,同步时钟频率很高,会不会对时序要求非常严格。
根据你的描述,SPI的中断优先级较低时可能导致死机,你看看SPI中断服务程序里代码没有及时运行而可能导致死 ...
spi中断服务子程序很简单,只有几行数**算,应该不会导致死机。 我主要怀疑spi是属于同步通讯
理论上是不会的。可能是代码应用的问题。楼主是否开启了允许中断抢占的功能了?
从应用上推测,F401应该做主,所以理论上中断时间长点就会导致通讯速度慢一点。 所以多半是其他中断打断SPI的中断服务程序,有可能影响了程序的运行结果,也就是逻辑冲突。这个需要检查不同中断间代码的影响或通过优先级设置避开影响。 可以考虑一下这方面的因素。
理论上是不会的。可能是代码应用的问题。楼主是否开启了允许中断抢占的功能了? ...
我程序中,中断比较多,中断不是根据各自的优先级,安排执行顺序吗?中断抢占功能在哪里开启?
[md]从应用上推测,F401应该做主,所以理论上中断时间长点就会导致通讯速度慢一点。 所以多半是其他中断打 ...
你好,我现在很想知道,如果其他中断的优先级比spi的优先级高,打断了spi中断,那是否会造成spi通讯异常?另一方面spi通讯异常,又是否会造成程序死机
NVIC_PriorityGroupConfig设置的是几? NVIC_PriorityGroup_4:不同组优先级别间,依据优先级强弱,优先级别高的组的中断源可以打断优先级别低的组的正在做的事情;(即:不同组优先级间,可以中断嵌套)