【stm32】寄存器(stm32技术手册下载链接)

1、资料下载

RM0008_STM32F101xx,STM32F102xx,STM32F103xx,STM32F105xx和STM32F107xx单片机参考手册 | STMCU中文官网

2、代码

设置PB7

cs 复制代码
//设置PB7
#define SDA_IN()     {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)8<<28;} 
#define SDA_OUT()    {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)3<<28;} 

3、理解

如图:

0X0FFFFFFF:

可以知道CRL和CRH的寄存器配置,那么图片中的红框就是一位,你可以看到设置B7引脚在CRL的28-31,那么0X0FFFFFFF就出来了。

8<<28中的8:

8的二进制是1000,那么根据下表,得出设置结果(图是不是错了?有没有大佬解释一下,我猜是设置的下拉输入),io速度设置的是Reserved

8<<28中的28:

F是包含4个二进制位,PB7在我上面的图片中数一下是第7位,那么7*4=28

4、应用:

设置PB9:

cs 复制代码
#define SDA_IN()  {GPIOB->CRH&=0XFFFFFF0F;GPIOB->CRH|=(uint32_t)8<<4;}
#define SDA_OUT() {GPIOB->CRH&=0XFFFFFF0F;GPIOB->CRH|=(uint32_t)3<<4;}

结语

做的的笔记,感觉理解的不是很透彻

相关推荐
学不动CV了21 分钟前
数据结构---链表结构体、指针深入理解(三)
c语言·arm开发·数据结构·stm32·单片机·链表
szxinmai主板定制专家1 小时前
【精密测量】基于ARM+FPGA的多路光栅信号采集方案
服务器·arm开发·人工智能·嵌入式硬件·fpga开发
工业互联网专业5 小时前
汇编与接口技术:8259中断实验
汇编·单片机·嵌入式硬件·8259中断实验
brave and determined5 小时前
国产MCU学习Day6——CW32F030C8T6: I2C功能详解与应用案例
单片机·eeprom·i2c·cw32f030c8t6·cw32·cw32f030·中断读取eeprom
梁山1号5 小时前
【ESP32】3.串口的发送与接受
单片机·物联网
KaiGer6666 小时前
AUTOSAR进阶图解==>AUTOSAR_SWS_V2XFacilities
单片机·汽车·嵌入式·autosar
desssq7 小时前
SPI通信协议
单片机·嵌入式硬件
星辰pid9 小时前
STM32实现四自由度机械臂(SG90舵机)多功能控制(软件篇freertos)
stm32·单片机·嵌入式硬件·机械臂
森焱森15 小时前
水下航行器外形分类详解
c语言·单片机·算法·架构·无人机
小殷学长17 小时前
【单片机毕业设计17-基于stm32c8t6的智能倒车监测系统】
stm32·单片机·课程设计