我现在想用DMA从SPI口接收数据,有没有相关资料啊
shaokai Lin:
顶一个
Yan:
lily,
最快的方法,你可以参照TI提供的现成的工程,hostTestApp, 里面有个CC2541SPI 的编译选项,选择这个,你就能看到SPI + DMA 的代码了。
另外,你也可以参考CC2541 的user guide,里面有很详细的SPI 和DMA 的配置。
lily li1:
回复 Yan:
我用的是2540和2541在DMA部分代码是一样的是吧?user guide我已经看了,但是代码还是没找到,能说具体一点吗?谢谢
Yan:
回复 lily li1:
lily,
DMA 部分是一样的。
代码在我前面回复你的帖子里的工程里有,hostTestApp,文件的话,工程里面你可以跟踪一下 _hal_uart_spi.c。
shaokai Lin:
回复 lily li1:
加油啊!搞出来了,我也学习下。
lily li1:
回复 shaokai Lin:
DMA部分SPI和串口的应该差不多的吧,你先教会我DMA那应该就快了
shaokai Lin:
回复 lily li1:
Hi lily
我没有搞过DMA传输SPI的数据,只做过DMA传输UART的数据。你可以参考下:
Option->C/C++Complier->Preprocessor添加于处理器
HAL_UART=TRUE
屏蔽POWER_SAVING
注册DMA传输数据的回调函数NPI_InitTransport(UART_DmaEvtCB);
这样就完成初始化了。
lily li1:
回复 Yan:
在_hal_uart_spi.c里面有回调函数spiCB((HAL_UART_SPI – 1), HAL_UART_RX_TIMEOUT);但是最后也就跟踪到void NPI_InitTransport( npiCBack_t npiCBack ),没有找到npiCBack的具体函数,请问这个函数是在哪儿啊
shaokai Lin:
回复 lily li1:
npiCBack的具体函数,这个当然是由你自己来写的啊~
写完了,把它注册给 NPI_InitTransport();