使用两路spi ,想同步传输接收数据,采用hal库,发现不能同时!
版主,各有大牛我现在用的是stm32F743mcu,使用了两路spi采集两路adc。 现在我用的的hal库,里面的函数。如下图 问题时,想在同一个时间点,启动两路spi,采集。我理解应该时很快的。但是波形看spi的时钟时有先后的顺序。如何解决这个问题?就用st的hal库。 谢谢大家和版主 硬汉
如果spi是在不同的DMA上,那就使用DMA吧 不知道我发的贴子为什么没有图片,只能再补三张图片,说明一下。 给你个简易的方法解决这问题
用两个SPI, 比如SPI1 & SPI2, SPI1配置为主,SPI2配置为从, 两个时钟线接一块, 这就轻松的做到你说的同步了。 谢谢,Edmund1964的建议。
还有一个疑问,就是st提供的hal的spi函数,为什么效率那么低。
函数调用倒是简单了,但是内容为了做到兼容,有大量的额外操作。
有高手在尝试,用hal库,做简单的寄存器操作吗? wxqhit 发表于 2024-1-8 23:04
谢谢,Edmund1964的建议。
hal是出了名的浪费资源的, 想省些就用LL或寄存器吧 wxqhit 发表于 2024-1-8 23:04
谢谢,Edmund1964的建议。
。。。。。。。。。。
wxqhit 发表于 2024-1-8 23:04
谢谢,Edmund1964的建议。
可以用定时器触发实现SPI+DMA, 这样同步就非常好了,比软件控制准。 谢谢@Edmund1964 @eric2013 eric2013 发表于 2024-1-9 08:51
可以用定时器触发实现SPI+DMA, 这样同步就非常好了,比软件控制准。
@eric2013 硬汉哥,您手的定时器触发SPI+DMA的方式,能用在F4上吗?
能简单说说思路吗?
页:
[1]