RT Studio中SPI+DMA如何使用?

发布于 2021-05-02 15:43:46

RT Studio中SPI+DMA如何使用

查看更多

关注者
0
被浏览
90
cxhxy12345
cxhxy12345 6 days ago

SPI设备的使用在https://www.rt-thread.org/document/site/search.html?q=SPI有介绍
不知道你是那颗料用SPI的。DMA只是将数据传输的方式改变以下,有SPI中断方式和DMA收发数据二种,SPI的数据就通过DMA中断进行传输。
你选的芯片SPI要能支持DMA方式。
如果是STM芯片
在spi_drv.c中有如下定义:

define SPI_USING_RX_DMA_FLAG (1<<0)

define SPI_USING_TX_DMA_FLAG (1<<1)

定义spi对象如下:
struct stm32_spi
{

SPI_HandleTypeDef handle;
struct stm32_spi_config *config;
struct rt_spi_configuration *cfg;

struct
{
    DMA_HandleTypeDef handle_rx;
    DMA_HandleTypeDef handle_tx;
} dma;

rt_uint8_t spi_dma_flag;
struct rt_spi_bus spi_bus;

};

2 个回答
flashman2002
flashman2002 6 days ago

是否可以使用DMA机制,需要具体芯片支持,可查询芯片手册,并在相应的驱动中实现。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览