< div class = "字段field-name-taxonomy-forums field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >论坛:,< / div > < div class = "字段条目" > < div class =”field-item甚至“rel = " sioc: has_container " > < a href = " /论坛/ dialog-smartbond-bluetooth-low-energy - % E2 % 80% 93 -软件”“=“sioc:容器sioc:论坛”属性=“rdfs: label skos: prefLabel”数据类型= " " >对话框Smartbond蓝牙低能量——软件< / > < / div > < / div > < / div > < div class =”字段field-name-body field-type-text-with-summary field-label-hidden”> < div class = "字段条目" > < div class =”field-item甚至“财产= "内容:编码" > < p >你好对话框中,< / p > < p >我们的应用程序运行在一个DA14581 SDK 5.0.4。它有一个SPI ISR如下:< / p > < p > 1。作为一个检查,看看SPI中断通过SPI_CTRL_REG实际上是等待;日志如果不是一个错误。< br / > 2。读一个单词来自SPI_RX_TX_REG1和SPI_RX_TX_REG0。< br / > 3。通过SPI_CLEAR_INT_REG清除悬而未决的SPI中断。< br / > 4。处理接收到的词。< br / > 5。回报。< / p > < p > NVIC_SetPriority的中断优先级设置为0(最高)。我们不改变SPI的优先级中断。 This ISR has fired many many thousands of times without the step 1 error ever being detected. Recently we had a case where the error detected in step 1 DID occur and we are trying to figure out how (other than memory corruption).
It is possible that the SPI interrupt could occur again while the SPI ISR is executing (this would also be bad but for other reasons) but since the priority of this interrupt never changes, the interrupts should not nest.
Any other ideas or NVIC behavior we could be missing?