Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
可能是因为某次打断时间较长,SPI 没来得及读取接收 FIFO 内的数据,导致FIFO内数据上溢,产生 overflow 错误。 如果task 较多,可以用 DMA 的方式去搬运数据,这样就不会受到影响
Diga 这个overflow可以清除吗?还是底驱时间不够
可以清除,但此次 SPI 通信已经失败了,已经有接收数据被丢弃了,而且下次再被长时间打断,还是会产生 overflow
Diga 丢数据没关系,清除的接口是哪个? 是这个吗
更正一下,SDK 中断内部是有对错误进行处理的,接收上溢或者发送下溢都会终止当前 SPI 传输。 你可以看一下一直进中断,进的是什么中断,当前状态寄存器是什么
Diga 反复进这里
Diga 然后进这里,这里所有的if全部没进,直接出来的,也就是说进一次中断什么都没处理
看一下状态寄存器,SPI->STS
Diga 您好,HA系列测试SPI时偶发出现从SPI->STS寄存器来看TX FIFO下溢标志位被置,但是无法进SPI TRANSMIT ERROR的处理的 if 。spiState->txBuff == 0x00.并且会一直进中断.
请问有什么排查思路没
把 debug 窗口关了,你的 debug 窗口也会读取 DATA 里的数据的
发帖前请查看
帮助没办法联网的电脑使用YCT
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...