硬汉嵌入式论坛

 找回密码
 立即注册
查看: 390|回复: 9
收起左侧

[STM32H7] 使用两路spi ,想同步传输接收数据,采用hal库,发现不能同时!

[复制链接]

21

主题

48

回帖

111

积分

初级会员

积分
111
发表于 2024-1-8 15:59:26 | 显示全部楼层 |阅读模式
版主,各有大牛
      
我现在用的是stm32F743mcu,使用了两路spi采集两路adc
      现在我用的的hal库,里面的函数。如下图
下载 (1).png
     问题时,想在同一个时间点,启动两路spi,采集。
下载 (2).png
我理解应该时很快的。
但是波形看spi的时钟时有先后的顺序。
下载.png
如何解决这个问题?就用sthal库。
谢谢大家和版主 硬汉



回复

使用道具 举报

3

主题

96

回帖

105

积分

初级会员

积分
105
发表于 2024-1-8 16:47:42 | 显示全部楼层
如果spi是在不同的DMA上,那就使用DMA吧
回复

使用道具 举报

21

主题

48

回帖

111

积分

初级会员

积分
111
 楼主| 发表于 2024-1-8 17:17:35 | 显示全部楼层
不知道我发的贴子为什么没有图片,只能再补三张图片,说明一下。
1704702129341.png
1704702051804.jpg
5025a30caef45d3a63b0b75b35ef218.jpg
回复

使用道具 举报

0

主题

124

回帖

124

积分

初级会员

积分
124
发表于 2024-1-8 17:59:58 | 显示全部楼层
给你个简易的方法解决这问题
用两个SPI, 比如SPI1 & SPI2, SPI1配置为主,SPI2配置为从, 两个时钟线接一块, 这就轻松的做到你说的同步了。
回复

使用道具 举报

21

主题

48

回帖

111

积分

初级会员

积分
111
 楼主| 发表于 2024-1-8 23:04:17 | 显示全部楼层
谢谢,Edmund1964的建议。


还有一个疑问,就是st提供的hal的spi函数,为什么效率那么低。

函数调用倒是简单了,但是内容为了做到兼容,有大量的额外操作。

有高手在尝试,用hal库,做简单的寄存器操作吗?
回复

使用道具 举报

0

主题

124

回帖

124

积分

初级会员

积分
124
发表于 2024-1-8 23:15:09 | 显示全部楼层
wxqhit 发表于 2024-1-8 23:04
谢谢,Edmund1964的建议。

hal是出了名的浪费资源的, 想省些就用LL或寄存器吧
回复

使用道具 举报

0

主题

124

回帖

124

积分

初级会员

积分
124
发表于 2024-1-8 23:23:02 | 显示全部楼层
wxqhit 发表于 2024-1-8 23:04
谢谢,Edmund1964的建议。

。。。。。。。。。。

对比一下吧

对比一下吧
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
发表于 2024-1-9 08:51:38 | 显示全部楼层
wxqhit 发表于 2024-1-8 23:04
谢谢,Edmund1964的建议。

可以用定时器触发实现SPI+DMA, 这样同步就非常好了,比软件控制准。
回复

使用道具 举报

21

主题

48

回帖

111

积分

初级会员

积分
111
 楼主| 发表于 2024-1-9 16:09:32 | 显示全部楼层
谢谢@Edmund1964 @eric2013
回复

使用道具 举报

3

主题

111

回帖

120

积分

初级会员

积分
120
发表于 2024-1-10 18:01:20 | 显示全部楼层
eric2013 发表于 2024-1-9 08:51
可以用定时器触发实现SPI+DMA, 这样同步就非常好了,比软件控制准。

@eric2013 硬汉哥,您手的定时器触发SPI+DMA的方式,能用在F4上吗?
能简单说说思路吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 12:15 , Processed in 0.189941 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表