野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8591|回复: 6

零死角玩转stm32开始学习,错误请教?

[复制链接]
发表于 2018-5-17 22:25:36 | 显示全部楼层 |阅读模式
本帖最后由 xiatianyun 于 2018-5-25 15:38 编辑

我刚开始学习STM32,今天看到第6章,遇到几个有明显错误的地方(也不知道是不是错误,总之有些前后矛盾):
1:第6.4节关于存储器映像,block2中的AHB总线的范围书上是0x4001,8000~0x5003,FFFF,可是接下来寄存器映像章节6.5.2C对寄存器的封装中又是
#define AHBPERIPH_BASE   (PERIPH_BASE + 0x0020000),也就是AHB的基址应该是0x4002,0000开始,不是0x4001,8000开始。
2:接下来用Struct封装GPIO的寄存器GPIO_TypeDef,第7个寄存器LCKR怎么是uint16_t类型的呢?寄存器都是32位的呀?-------------------
2018-5-23:
3:  9.3.1小节,”每个寄存器占用32个字节“,这个就很错误了,应该是每个寄存器占用32bit,即2word。
4: 9.3.4小节, 第73页,定义位操作函数,参考手册的截图8.2.5 GPIOx_BSRR(x=A..E),为什么只是A..E,不是stm32的参考手册吗,那就应该是7组GPIO呀,
应该是A..G。GPIOF和GPIOG有特殊?
5:还是该小节,也许是编辑错误:GPIOH是什么?
-----------2018-5.25:
6: 第78页,GPIO_Mode 的分析真值表有误,当输入为上下拉时bit2/bit3不应该是00,而是10。(论坛发表帖子的编辑器不好用,不能正确处理回车换行。)











回复

使用道具 举报

发表于 2018-5-18 08:41:07 | 显示全部楼层
是哪个板子的教程
第1个我要确认下
第2个没问题,因为它把一个寄存器分成2个16位来访问
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-22 23:28:54 | 显示全部楼层
指南者。
第一个问题在37页。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-22 23:30:27 | 显示全部楼层
回帖不支持直接粘贴截图,我就不截图了。
C的封装在第40页。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-24 09:16:18 | 显示全部楼层
今天无意中看到“Stm32中文参考"上的内容:GPIO寄存器必须按32位访问,不允许半字或字节访问。
虽然在C语言中确实可以把一个32位双字当作2个16位字来访问,不过STM32的特定系统还是需要遵守的。
回复 支持 反对

使用道具 举报

发表于 2018-5-24 23:42:24 | 显示全部楼层
第4个问题是因为官方的stm32f10xxx编程手册的中文版(2010年中文第10版)写的就是A..E。而我手头英文版第15版(2014年)已经写的是A..G。这个文档中文就到第10版了年代有点久了,可以用来参考,如果有疑问最好参照一下最新版的官方文档。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-25 15:40:00 | 显示全部楼层
Quard 发表于 2018-5-24 23:42
第4个问题是因为官方的stm32f10xxx编程手册的中文版(2010年中文第10版)写的就是A..E。而我手头英文版第15 ...

嗯,应该如此,谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-30 22:55 , Processed in 0.026277 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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