我采用得是STM32F10RC 参考得是STM32普中科技的给出得例子:https://www.bilibili.com/video/av30149282/?p=45(这里给出网址)
https://blog.csdn.net/bulebin/article/details/73730141 这个博文还可以
ps:在15中 是个hi用sbit 进行位带
1、位带介绍
什么是位带呢? stm32 中没有sbit, 所以我们采用的是位带别名区
(1)
通过访问Bit band Alias 他 来控制 bit Band ALias 的位
(2)位带区和位带别名区的转换
别名区地址=外设微带别名区的基地址+(位带区-位带区的起始地址)*32+n*4
n:表示的是是在第几位啊 其中每一位又膨胀成为i32位 4个字节 所以乘以4
通过访问位带别名区 来访问别位带区
下面对上面这个两个公式进行统一“
位带操作一般都是对GPIO直接进行操作
3、位带部分的程序是怎么写的?
4、定义需要可以进行位带的GPIO口
一般位带的使用 我们都是对GPIO进行操作,所以我们还要将GPIO对应其来加入下面程序
大家可能跟我一样会对这个ODR和 IDR 有一定的考虑,为什么还会有输入呢?
https://zhidao.baidu.com/question/429972752.html(可以参考)
IDR这个寄存器的作用是为了实现读取端口的电位
5、实际应用
你们看,如果我想对使用哪个管脚的输出的位带 或者 读取电平的位带,我就可以直接对齐进行操作就ok了