你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

请教SPI用LL读取的问题

[复制链接]
Alex3688 提问时间:2025-8-2 08:16 / 未解决

用cubemx构建工程,MDK开发,这个项目采用AD4020 20位2MSPS外置ADC,ADC转换速率高达0.5us,而STM32H5用HAL的HAL_SPI_Receive(&hspi1, mrx_data, 3, HAL_MAX_DELAY);命令读取ADC结果3字节,即时优化后也需要1.95us,远远不能匹配ADC的速度。我想也只有LL命令才会快了,测试了很长时间都不成功。

请教怎么用LL命令读取SPI?从cubemx的配置到MDK,需要怎样做?感谢!

收藏 评论2 发布时间:2025-8-2 08:16

举报

2个回答
butterflyspring 回答时间:2025-8-4 16:09:10
提高读取速度,为什么不考虑尝试DMA模式?

LL命令会节省一些代码时间,但是外设的运行和处理方式并不会节省很多。




xmshao 回答时间:7 天前

你现在20位ADC,转换速率0.5s,按32位接收的话,那么至少需要64M的波特率才能满足要求。

使用STM32H5的SPI可以实现125M的波特率,同时SPI带16字节的FIFIO,配合接收FIFO,

这样看来接收应该是没啥问题的。如果每次ADC采样结果的数据不多的话,每次接收完一笔

数据后再去处理应该来得及。

这个处理过程如果时间不是很紧张的话,至于是使用HAL库还是LL库组织代码

问题不大。 我认为这个接收的快慢跟你使用哪个类型库组织的配置及启动代码没什么关系。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版