前记

置位:|=

清零:&=~

使用寄存器点亮LED灯

让绿灯亮PB0

PB0连接3.3V 低电平亮

端口输出寄存器ODR

APB2中的GPIO端口B的基地址为0x40010C00

地址偏移为0x0C

控制PB0为1

清零 左移一位

故地址为0x40010C0C

配置IO口为输出(端口配置低寄存器CRL)

无偏移,地址为:0x40010C00

PB0位置上的值为00【推挽输出模式】(CNF0)01(MODE0)

输出模式,最大速度为10MHz

GPIOB端口时钟(RCC寄存器)

时钟是“心脏”

复位和时钟控制RCC在AHB系统总线上

偏移后地址为:0x40021000+0x18,即0x40021018

在第三位,故将1偏移3位

GPIO功能框图

GPIO:通用输入输出端口的简称,STM32芯片的GPIO引脚与外部设备连接起来

2.推挽、开漏或关闭(端口配置低寄存器CRL、端口配置高寄存器CRH)

每四个位控制一个GPIO

推挽输出

可以输出高低电平,高电平由VDD决定(系统电源3.3V),低电平由VSS决定;

推挽结构是指两个三极管受两路互补信号控制,总在一个导通的时候另外一个截止;

输出高电平时,电流输出到负载,称为灌电流(推),输出低电平时,负载电流流向芯片,称为拉电流(挽)

开漏输出

只能输出低电平,如果要输出高电平,则需要外接上拉;

具有“线与”功能,如果一个为低,全部为低,多用于I2C和SMBUS总线

3.输出数据寄存器(端口输出寄存器ODR)

可以直接操作位设置位清除寄存器BSRR\BRR

4.复用功能输出

来自于外设

数据寄存器

5.输入数据寄存器(端口输入寄存器IDR)

32位只用16位有效

上拉或者下拉输入

在CRL或CRH中配置成10;但具体上拉还是下拉通过BSRR来设置

GPIO输出初始化顺序

step1选定GPIO

step2 配置GPIO工作模式(CRL和CRH寄存器):输入还是输出

step3 控制GPIO输出高低电平(ODR、BRR和BSRR)

寄存器映射代码

Finish~

小辣记【野火stm32自学笔记】点灯仪式相关推荐

  1. 野火STM32学习笔记

    开始进入固件库编程 学习原因即优缺点 固件库的出现让STM32的开发难度大大下降,它通过库文件的封装,把众多的内存元整合为一个整体,在我们想要操作某一位寄存器时只要调用它所在的固件库就可以.缺点是不同 ...

  2. STM32自学笔记15-步进电机驱动项目-磁编码器MT6816驱动

    这个闭环驱动系统中,充当闭环反馈的是磁编码器MT6816,它的作用是告诉主控现在电机的转动位置. 一般来说磁编码器和光编码器相比,精度.分辨率和响应时间都要差一些,但优势是对环境要求较低,粉尘.油污. ...

  3. STM32自学笔记-6-RS485串口通信

    RS232的通信逻辑"1"的电平为-5V~-15 V,逻辑"0"的电平为+5 V-+15 V.这样高的电平和TTL不兼容,而且容易烧坏接口电路芯片,共地的方式也 ...

  4. 野火STM32学习笔记一、固件库文件分析

    STM32固件库文件分析 汇编编写的启动文件 startup_stm32f10x_hd.s: 设置堆栈指针.设置PC指针.初始化中断向量表.配置系统时钟.调用C库函数main最终去到C的世界 时钟配置 ...

  5. STM32自学笔记-4-SPI和Flash芯片

    I2C中曾经说过其实目前基本用Flash而不用E2PROM,E2PROM最大的特点是按字节操作,Flash则是按扇区操作.目前STM32单片机教程里基本上都是用W25Q128这款SPI Flash芯片 ...

  6. STM32自学笔记-7-CAN总线通信

    STM32F103有1个CAN控制器,可以配合逻辑分析仪来测试CAN和PC的通信.在此之前先学习一下CAN的基础知识. CAN 控制器根据两根线上的电位差来判断总线电平.总线电平分为显性电平(0),C ...

  7. STM32自学笔记ADC多通道扫描

    STM cubemx STM32F1 ADC多通道采集(非DMA) ADC模式介绍: 扫描模式: 多通道采集必须开启,这一项CUBE已经默认设置好了.这个模式就是自动扫描你开启的所有通道进行转换,直至 ...

  8. STM32野火教程学习笔记

    欢迎使用STM32 虽然经历了疫情期间的价格起飞,但是STM32系列的单片机仍然是各个控制领域内主流的微控制器.它是控制人的必修课之一. STM32的编程方法 我们在学习51单片机的时候,通常是通过编 ...

  9. 微信小程序自学笔记-----文本和字体样式设置

    微信小程序自学笔记-----文本和字体样式设置 用于自己自学微信小程序知识点总结,新手小白一枚,请大佬勿喷 知识要点 · 各种字体样式属性命名及含义 · 利用style和class设置字体样式的方法 ...

最新文章

  1. iframe 返回上一页_寻找高颜值小姐姐难吗!直到我在Github上发现了这个Python库
  2. 【Linux】【Basis】文件系统
  3. JVM 垃圾回收机制和常见算法
  4. Android布局中 android:layout_gravity=bottom为何不起作用?
  5. mysql where从句_MySQL死锁系列-常见加锁场景分析
  6. 一行代码完成定时任务调度,基于Quartz的UI可视化操作组件 GZY.Quartz.MUI
  7. java=====Striing date 转化
  8. 命php令删除文件夹,window_win7系统通过cmd命令提示符的del命令删除文件的详细教程,怎么利用cmd命令提示符的del命 - phpStudy...
  9. 设计模式之Strategy(策略模式系列1)
  10. 介绍当前流行的一些开源Flash视频播放器
  11. 关于MFC下多线程,在线程中创建非模态对话框以及消息传递
  12. 软件测试颗粒度,测试用例粒度粗细的划分
  13. Python学习之路-22 (面向对象特殊成员)
  14. SpringCloud微服务(01):Eureka组件,管理服务注册与发现
  15. 关于PLSQL的破解,按图输入即可
  16. 图观小课堂知识点——场景编辑器
  17. Hbase 命令及配置文件
  18. 测试硬盘怀道的软件,硬盘坏道检测工具(HDDScan)
  19. 两台计算机怎么网络连接,两台电脑怎么连接局域网,详细教您两台电脑怎么连接局域网...
  20. 陈情令和明月照我心都有超常镜头,为何前者被原谅,后者被唾弃

热门文章

  1. linux设置查看与设置文件编码格式
  2. python学习02:利润计算
  3. yolov3的缺点_YOLOV3问答式解读
  4. 保护视力的4种锻炼方法
  5. el-form表单验证身份证合法性和手机号格式
  6. 【机器学习】决策树特征选择准则 信息增益、信息增益率、基尼系数的计算及其python实现
  7. 为云而生、多快好省,这就是星星海的style!
  8. Android 联通GPRS设置
  9. 2017多校 Balala Power!
  10. EMD经验模态分解——分析时间序列