看到官方的_hal_uart_spi.c文件中, 2541做主机时, 需要接收数据时还要手动先发送clock, 就是 SPI_CLOCK_RX() 这个,然后再从spiRxBuf[]中取数据.
1.请问为什么要这样呢?
2.能否配置成DMA自己发送clock, 然后我在dma完成的中断中读取spiRxBuf[]的数据呢?
rock XU:
自问自答,1.因为是主机,不知道要发多少个clock,所以才先发几个clock找到长度(长度在帧头部定义),然后发clock抓数据,然后就拿到一帧了2.可以,前提是帧格式要匹配寄存器,具体看2541的寄存器说明书
mark_xu:
回复 rock XU:
不错,自己找到原因就好,谢谢分享!