硬汉嵌入式论坛

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

[HAL] HAL库SPI速率设置过快,会一直在超时里等待

[复制链接]

5

主题

24

回帖

39

积分

新手上路

积分
39
发表于 2023-6-6 15:25:44 | 显示全部楼层 |阅读模式
芯片是STM32H7B0使用硬件SPI,分频系数低的时候,发送不了数据一直超时。

  hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8; 8分频时已经不行了,主频是280Mhz
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
发表于 2023-6-6 15:53:55 | 显示全部楼层
当前是跟什么设备通信的。

8分频按说应该完全无压力。
回复

使用道具 举报

5

主题

24

回帖

39

积分

新手上路

积分
39
 楼主| 发表于 2023-6-6 16:17:19 | 显示全部楼层
eric2013 发表于 2023-6-6 15:53
当前是跟什么设备通信的。

8分频按说应该完全无压力。

和ST7789屏幕
回复

使用道具 举报

5

主题

24

回帖

39

积分

新手上路

积分
39
 楼主| 发表于 2023-6-6 16:35:57 | 显示全部楼层
eric2013 发表于 2023-6-6 15:53
当前是跟什么设备通信的。

8分频按说应该完全无压力。

测试了一下最高只能30Mhz,超过就跳超时 static HAL_StatusTypeDef SPI_WaitOnFlagUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Flag, FlagStatus Status,
                                                    uint32_t Timeout, uint32_t Tickstart)
回复

使用道具 举报

5

主题

24

回帖

39

积分

新手上路

积分
39
 楼主| 发表于 2023-6-6 18:41:50 | 显示全部楼层
eric2013 发表于 2023-6-6 15:53
当前是跟什么设备通信的。

8分频按说应该完全无压力。

主要是不关从机的事,用SPI1发的,超过30Mhz就是不行,难道是芯片有问题
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
发表于 2023-6-7 09:20:08 | 显示全部楼层
Rose980 发表于 2023-6-6 18:41
主要是不关从机的事,用SPI1发的,超过30Mhz就是不行,难道是芯片有问题

SPI的GPIO上拉电阻使能没,使能下。之前一个坛友就是类似的问题,使能后可以了。
回复

使用道具 举报

5

主题

24

回帖

39

积分

新手上路

积分
39
 楼主| 发表于 2023-6-7 11:20:38 | 显示全部楼层
eric2013 发表于 2023-6-7 09:20
SPI的GPIO上拉电阻使能没,使能下。之前一个坛友就是类似的问题,使能后可以了。

多谢,应该是GPIO配置问题,生成的代码默认速率是低速IO
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
发表于 2023-6-8 08:55:35 | 显示全部楼层
Rose980 发表于 2023-6-7 11:20
多谢,应该是GPIO配置问题,生成的代码默认速率是低速IO

防不胜防
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
发表于 2023-6-8 22:16:22 | 显示全部楼层
H750 480M主频下,SPI1 工作在120M没有问题。H7B0不清楚
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 19:02 , Processed in 0.183793 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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