STM32F4 通过SPI口DMA读取ADC

2019-07-20 07:38发布

大家好:      课题:STM32F4 通过SPI口DMA读取ADC      ADC采样速率:32KHz,即每1ms采样32次
      SPI设置: SPI 主 + DMA

      期望:系统启动SPI后,SPI口按32KHz的速率,自动的通过DMA读取ADC,不用CPU干预(不要中断,因为32KHz太频繁了)。

      问题:由于F4的SPI作为主时其NSS只能使用软模式,需要CPU显式的操作NSS。
                有什么方法可以不用CPU干预呢?

谢谢!



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
正点原子
1楼-- · 2019-07-20 08:16
 精彩回答 2  元偷偷看……
twodiamond
2楼-- · 2019-07-20 10:32
正点原子 发表于 2018-3-10 01:51
你可以设置一定大小的buf,adc通过dma读取到buf,到了一定程度再去cpu处理即可。

多谢原子!
疑虑的是:多次SPI读,每次SPI操作是否需要CPU去显式的拉低拉高NSS吗?如果需要,那只能通过CPU中断或查询了。
kmmyk
3楼-- · 2019-07-20 15:48
你这个想法,有点像想实现DMA的外设到外设模式,实际上,这种方案并不可行,我有文章解释过这个问题,就在原子论坛.《关于DMA的外设到外设问题》
twodiamond
4楼-- · 2019-07-20 19:08
 精彩回答 2  元偷偷看……
Saul
5楼-- · 2019-07-20 21:29
twodiamond 发表于 2018-3-10 15:19
多谢原子和kmmyk:
是我没说太清楚,实际的需求是F4透过SPI以32KHz的频率操作一个ADC(SPI接口),因为F4的 ...

哥们,试通了么

一周热门 更多>