第三阶段:49.树莓派博通BCM2835芯片手册导读

基于简单字符设备驱动框架编写驱动代码驱动引脚
1.General Purpose I/O (GPIO)板块
查看芯片手册的目的性很强:做哪一块的开发,就只看那一块,现在要开发的是GPIO,熟悉控制IO口的寄存器最为重要。

如果看完这部分的文档,你对于以下几个问题(后面有解析)有清晰的答案,说明你真正读懂了这一部分的开发。

①操作逻辑:简言之就是怎么进行配置相关寄存器,这些配置步骤和思想其实都很类似。
②需要重点掌握的寄存器有哪些?例如输入 / 输出控制寄存器,输出 0 / 1控制寄存器,清除状态寄存器

芯片手册第六章:

寄存器名字 GPFSEL0 GPIO Function Select 0 功能选择 输出/输入
(GPIO Function Select Registers) 32位
14-12 001 = GPIO Pin4 is an output

GPSET1 GPIO Pin Output Set 0 输出1
0 = No effect
1 = Set GPIO pin n

GPCLR0 GPIO Pin Output Clear 0 清0
0 = No effect
1 = Clear GPIO pin n

2.Register View 导读
在新的平台也要学会捕捉类似的关键信息:选择输入还是输出,0/1,怎么清除,上升沿下降沿等。(配置过32 / 51寄存器的应该对这些很熟悉)
从下图中可以大概了解到所有的IO口被分成了0~5组。
有意思的是,下图最第一列的地址Address是树莓派总线地址,一般芯片手册给的都是真正的物理地址。第二列是寄存器的名字,第三列寄存器功能描述。
一共有41个寄存器,每个寄存器都是32位。
在这里插入图片描述
在这里插入图片描述
描述部分也很重要,大多涉及使用方法
在这里插入图片描述
3.配置引脚功能为输入/输出的寄存器
这20~29的IO口(第二列)属于分组2
在这里插入图片描述
IO编号要看好
在这里插入图片描述
在这里插入图片描述
4.配置引脚输出0/1的寄存器
在这里插入图片描述
在这里插入图片描述
5.配置引脚清除0/1状态的寄存器
在这里插入图片描述
在这里插入图片描述
整理关键内容
通过文档阅读,可以整理出关键的信息:

有3个最基本的要清楚:
①选择IO是 输入 / 输出控制寄存器:GPFSEL
②输出0 / 1寄存器:GPSET
③清除寄存器:GPCLR

操作逻辑:
以GPFSEL0寄存器举例,引脚pin4对应的分组就是第0组(51单片机引脚也是分成第0组、第1组、第2组、第3组)。只要在这个分组下,把14-12位设置为001,就能配置pin4引脚为输出。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值