打印
[STM32F1]

STM32 AD+SPI+DAM

[复制链接]
429|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
HEMENGQI|  楼主 | 2023-4-22 15:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用ADS1256与STM32F1用SPI通信,再用DMA将采集到的数据搬运到内存。问一下大家:

1.如果使用SPI+DMA给AD发送指令的话,发送指令是要写在ADC_DATASIZE吗,还是写什么呢?
DMA_DeInit(DMA1_Channel5);
DMA_InitStructure.DMA_PeripheralBaseAddr = 0x4000380C;
DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)ADC_Data;
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;
DMA_InitStructure.DMA_BufferSize = ADC_DATASIZE;

如果是的话,那我该如何处理单独使用SPI时发送指令时,不同时间段发送的问题,如下所示:

        CS_0();
        while(ADS1256_DRDY==0);//µ±ADS1256_DRDYΪµÍʱ²ÅÄÜд¼Ä´æÆ÷
    SPI2_ReadWriteByte(ADS1256_CMD_RREG | (regaddr & 0x0F));
       
                delay_us(10);         //min=50*(1/fCLKIN)=50*(1/7.68MHZ)=6500ns;max=whatever
       
    SPI2_ReadWriteByte(0);//дÈë¶ÁÈ¡Êý¾ÝµÄ¸öÊýn-1
       
                delay_us(20);         //min=50*(1/fCLKIN)=50*(1/7.68MHZ)=6500ns;max=whatever
       
    r=SPI2_ReadWriteByte(regaddr); //¶Á³öregaddrµØÖ·Ö¸ÏòµÄ¼Ä´æÆ÷Êý¾Ý
        CS_1();

2、因为“1”的问题,所以我想着可不可以只用SPI发送,接收用SPI+DMA。但是最近在网上找资料发现看到“STM32的SPI主机模式下,无法只使用DMA接收,而不发送。原因是没有触发SPI的DMA接收的信号。”不知道是不是真的?

3、如果“2”是真的话,各位大哥有没有解决方法呢?
还望各位大哥不吝赐教,本人小菜一枚,不胜感激!困扰好久了,谢谢了

使用特权

评论回复
沙发
香水城| | 2023-4-25 10:31 | 只看该作者
虽然对你的需求没有特别清楚,但可以肯定的是,

SPI完全可以发送基于查询或中断方式,接收使用DMA方式。

使用特权

评论回复
板凳
HEMENGQI|  楼主 | 2023-4-27 20:35 | 只看该作者
香水城 发表于 2023-4-25 10:31
虽然对你的需求没有特别清楚,但可以肯定的是,

SPI完全可以发送基于查询或中断方式,接收使用DMA方式。 ...

版主好。目前困扰我的就是:SPI的接收和发送是同步的,如果我使用SPI+DMA的方式的话,是不是还是像之前只使用SPI的方式一样直接用SPI2_ReadWriteByte来向AD发送指令呢?
如果不是的话,我应该怎么改呢?非常感谢

使用特权

评论回复
地板
香水城| | 2023-4-27 22:05 | 只看该作者
是的 如果STM32 spi是主的话,你接收就得发送。你到底是发命令 还是发哑字符,你根据情况来看。

按理是发送命令才对。

使用特权

评论回复
5
HEMENGQI|  楼主 | 2023-4-28 11:01 | 只看该作者
香水城 发表于 2023-4-27 22:05
是的 如果STM32 spi是主的话,你接收就得发送。你到底是发命令 还是发哑字符,你根据情况来看。

按理是发 ...

版主好,我是32为主,向AD发送命令(必须发送命令才能有数据返回)。可是我使用SPI2_ReadWriteByte的话,前边发送命令的时候有返回值不是不能用吗是后边DRDY跳变才开始有数据传输的呀
(不知道怎么传时序图
G:\

使用特权

评论回复
6
香水城| | 2023-4-28 11:55 | 只看该作者
HEMENGQI 发表于 2023-4-28 11:01
版主好,我是32为主,向AD发送命令(必须发送命令才能有数据返回)。可是我使用SPI2_ReadWriteByte的话, ...

呵呵
你作为主,发的时候自然也在收。 至于是不是你需要的你后期视情况来处理即可。

使用特权

评论回复
7
HEMENGQI|  楼主 | 2023-4-28 17:17 | 只看该作者
香水城 发表于 2023-4-28 11:55
呵呵
你作为主,发的时候自然也在收。 至于是不是你需要的你后期视情况来处理即可。 ...

好吧,还是很纠结

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

6

帖子

0

粉丝