SPI使用异常,数据还没有发送完,CS就拉高了
【求助】BK7231N SDK使用SPI时,SPI数据还没有发送完,CS就拉高了,可能是什么问题?
Re: 【求助】BK7231N SDK使用SPI时,SPI数据还没有发送完,CS就拉高了,可能是什么问题?
麻烦提供下使用的sdk版本,我们确认下问题。
-
- Posts: 64
Re: 【求助】BK7231N SDK使用SPI时,SPI数据还没有发送完,CS就拉高了,可能是什么问题?
可以检查下SPI发送是同步还是异步的方式,如果是异步的发送方式,可能数据没来得及完全从硬件送出来,就提前将片选IO拉高了,仅供参考!
Re: 【求助】BK7231N SDK使用SPI时,SPI数据还没有发送完,CS就拉高了,可能是什么问题?
麻烦确认下,客户使用 spi 时候有没有调用接口:tkl_spi_set_spic_flag()。 如果调用了可以把这个接口去掉,这时会使用 spi 中断。可解决这个问题。
Re: 【求助】BK7231N SDK使用SPI时,SPI数据还没有发送完,CS就拉高了,可能是什么问题?
是的,调用了这个接口,这个接口主要是什么作用呢?看demo里就是这样调用的
Re: 【求助】BK7231N SDK使用SPI时,SPI数据还没有发送完,CS就拉高了,可能是什么问题?
而且需要传的数据量比较多,大于4K,不调用的话是不是发送也不正常了
Re: 【求助】BK7231N SDK使用SPI时,SPI数据还没有发送完,CS就拉高了,可能是什么问题?
如果4k数据不需要连续发送, 可以分包发。 tkl_spi_set_spic_flag() 这个接口主要作用就是选择spi中断还是dma中断。
Re: 【求助】BK7231N SDK使用SPI时,SPI数据还没有发送完,CS就拉高了,可能是什么问题?
需要连续发超过4K数据,是不是SPI底层适配时DMA没适配好,我直接按照原厂那样修改spi_bk7231n.c行不行