硬汉嵌入式论坛

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

[STM32H7] H7替换F429

[复制链接]

33

主题

204

回帖

303

积分

高级会员

积分
303
发表于 2021-3-29 11:03:17 | 显示全部楼层 |阅读模式
F429价格越来越高,想用H7直接替换,用到LTDC、SDRAM、SPI、USART,请问硬件驱动的改动量有多大?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115667
QQ
发表于 2021-3-29 20:24:15 | 显示全部楼层
使用HAL库已经屏蔽这些了。
回复

使用道具 举报

0

主题

34

回帖

34

积分

新手上路

积分
34
发表于 2021-3-30 10:58:15 | 显示全部楼层
这些熟练一天就可以改完,现在H7也涨价了,不过还是比429要便宜
回复

使用道具 举报

33

主题

204

回帖

303

积分

高级会员

积分
303
 楼主| 发表于 2021-4-6 11:03:15 | 显示全部楼层
原F429,SPI5用       
        while(__HAL_SPI_GET_FLAG(&hspi5, SPI_FLAG_TXE) == RESET);
        WRITE_REG(hspi5.Instance->DR, data);
        while(__HAL_SPI_GET_FLAG(&hspi5, SPI_FLAG_RXNE) == RESET);
        return READ_REG(hspi5.Instance->DR);
可以正常通讯。H743,类似的方式无法通讯,不知道什么问题。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115667
QQ
发表于 2021-4-6 11:17:57 | 显示全部楼层
waterx3 发表于 2021-4-6 11:03
原F429,SPI5用        
        while(__HAL_SPI_GET_FLAG(&hspi5, SPI_FLAG_TXE) == RESET);
        WRITE_REG(hspi5. ...

这种写法不对,这个是标准库的玩法,进入HAL后,你这种玩法是无法屏蔽底层差异的(H7的SPI比F4的强很多,所以操作上是有区别的),建议学习我们V7教程的SPI Flash章节即可,查询,中断和DMA方式都做了,你可以方便了解正确姿势。
http://www.armbbs.cn/forum.php?m ... &extra=page%3D1




回复

使用道具 举报

33

主题

204

回帖

303

积分

高级会员

积分
303
 楼主| 发表于 2021-4-6 13:11:59 | 显示全部楼层
改为HAL的查询方式,可以通讯,但是速度慢了许多。而SPI2同样的查询方式却很快,不知道什么原因。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115667
QQ
发表于 2021-4-7 08:18:27 | 显示全部楼层
waterx3 发表于 2021-4-6 13:11
改为HAL的查询方式,可以通讯,但是速度慢了许多。而SPI2同样的查询方式却很快,不知道什么原因。

查询方式比较慢,使用DMA是最快的。其它问题自己查下吧。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-10 16:32 , Processed in 0.306531 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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