TI中文支持网
TI专业的中文技术问题搜集分享网站

DMA

我现在想用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();

赞(0)
未经允许不得转载:TI中文支持网 » DMA
分享到: 更多 (0)