硬汉嵌入式论坛

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

[SPI/QSPI] HAL库换成1.10后,SPI读写外部Flash出错

[复制链接]

12

主题

26

回帖

62

积分

初级会员

积分
62
发表于 2021-10-29 10:06:51 | 显示全部楼层 |阅读模式
H743原来用的是1.3的Hal库,编译器选的6版本,读写外部Flash正常。现在换成了HAL1.10, 写Flash经常返回错误1.偶尔也有Busy错误2。写Flash用的是HAL_SPI_Transit函数,8位数据模式。在操作的中间是关了中断的。

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2021-10-29 10:33:32 | 显示全部楼层
近期我最新搞的第3版emWin教程的字库图库的SPI Flash,用的好像是1.10.0,正常。
回复

使用道具 举报

5

主题

100

回帖

115

积分

初级会员

积分
115
发表于 2021-10-29 11:14:17 | 显示全部楼层
模拟SPI比任何库都好用
回复

使用道具 举报

12

主题

26

回帖

62

积分

初级会员

积分
62
 楼主| 发表于 2021-10-29 12:33:09 | 显示全部楼层
找到原因了,是上层在进行分页计算的时候,如果最后剩余字节是0,就不应该再调用HAL_SPI_Transit()函数 了,如果用字节数0调用此函数,会返回错误1。
加上一个判断就好了。
回复

使用道具 举报

12

主题

26

回帖

62

积分

初级会员

积分
62
 楼主| 发表于 2021-10-29 15:30:52 | 显示全部楼层
@eric2013, 老大好,有个问题请教一下,使用HAL_SPI_TransmitReceive函数读写外部Flash,  经常返回busy(2)错误,不知道什么原因,另外使用这个芯片是否需要关闭中断。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2021-10-29 15:33:07 | 显示全部楼层
szttg 发表于 2021-10-29 15:30
@eric2013, 老大好,有个问题请教一下,使用HAL_SPI_TransmitReceive函数读写外部Flash,  经常返回busy(2) ...

不需要,这个是硬件SPI。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 16:06 , Processed in 0.284552 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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