20讲 位带操作
20讲 位带操作 位带区的一个位再位带别名区会被膨胀成四个字节,上面 *8代表算出其偏移字节转化成位,*4表示一个位膨胀为4个字节。 n * 4 表示 具体要操作寄存器的哪一个位 0x42000000 这里举例子,这里只是位带区 的起始地址 例如: 下面这个比较难理解 文档对这个的讲解如下 位带操作 主要用于对一个位的频繁的操作,一般比较少用,目前…
19讲 按键输入
19讲 按键输入 int main(void) { /* LED 端口初始化 */ LED_GPIO_Config(); KEY_GPIO_Config(); /* 按键扫描 */ while (1) { //KEY_Scan(); 端口扫描,返回的值只要读取到KEY引脚的信号就反转, if( KEY_Scan(GPIOA,GPIO_Pin_0) …
12讲 自己写库–构建库函数
12讲 自己写库--构建库函数 12讲自己写库,外设寄存器结构体定义。 使用结构体来实现对寄存器地址的偏移。 #define GPIOF ((GPIO_TypeDefine *)GPIOF_BASE) 宏定义:通过将GPIOF_BASE的地址强制类型转换为GPIO_TypeDefine 的指针,来实现寄存器地址偏移。 typedef unsigne…
实现PF8亮灯 操作寄存器点亮LED灯
1.先查看原理图,找到想要实现亮灯的引脚。此处PC 代表GPIOC ; PF 代表 GPIOF 。约定俗成,包括RA RB 都代表GPIOA GPIOB等等等等。。。 根据需要打开的引脚,找到GPIOF 的寄存器映射地址,通过控制地址保存的参数来实现对GPIO的电平控制 由于需要控制GPIO口,所以我们应该查找芯片 datasheet 的 GPIO…
5讲 寄存器
5讲 寄存器 寄存器 1.什么是存储器映射? 2.什么是寄存器映射? 答: 3.C语言对寄存器的封装?。
174讲 类模板
174讲 类模板 类模板的作用: 建立一个通用类,类中的成员 数据类型可以不具体指定,用一个虚拟的类型来代表。 示例: #include<iostream> #include"string" using namespace std; template<typename NameType,typename Age…