STM32学习笔记(2)(基于正点原子)

学习目的:熟悉IO口配置,会使用位操作。了解两种开发方式的区别。

一、GPIO的基本原理和寄存器配置

1.STM32F103ZET6一共有7组IO口,每组IO口有16个IO。(GPIOA,GPIOB,…,GPIOG)。
STM32F103RCT6有4组IO口。(GPIOA0…A15,GPIOB0…B15,GPIOC0…C15,GPIOD0…D2)。

2.I/O端口位的基本结构。

在这里插入图片描述
3.GPIO的工作方式。
GPIO有4种输入模式(输入浮空、输入上拉、输入下拉、模拟输入)和4种输出模式(开漏输出、开漏复用功能、推挽式输出、推挽式复用功能)。
(1)输入浮空模式
在这里插入图片描述

(2)输入上拉模式
在这里插入图片描述
(3)输入下拉模式
在这里插入图片描述
(4)模拟输入
在这里插入图片描述

(5)开漏输出模式
在这里插入图片描述
(6)开漏复用输出模式
在这里插入图片描述
(7)推挽输出模式
在这里插入图片描述

(8)推挽复用输出模式
在这里插入图片描述
4.推挽输出与开漏输出
在这里插入图片描述

在这里插入图片描述

5.GPIO相关寄存器配置
在这里插入图片描述
在这里插入图片描述6.GPIOX_CRL(GPIOX_CRH)
在这里插入图片描述
7.GPIOX_IDR在这里插入图片描述
8.GPIOX_ODR在这里插入图片描述
在这里插入图片描述
9.GPIOX_BSRR
通过设置ODR寄存器间接设置输出
在改写电平的时候可以直接通过该寄存器改写要改的IO口的电平,不用分析其他IO口的电平情况。
在这里插入图片描述
10.GPIOX_BRR(功能与BSRR的高位相同)在这里插入图片描述
11.端口复用在这里插入图片描述12.端口重映射
在这里插入图片描述

二、跑马灯实验–库函数

1.重要函数
在这里插入图片描述
2.SetBits为高电平,ResetBits为低电平

3.初始化函数GPIO_Init
在这里插入图片描述

Mode下的八种模式代码:
在这里插入图片描述

4.读取输入电平的函数在这里插入图片描述
5.读取输出电平的函数
在这里插入图片描述
6.设置输出电平的函数在这里插入图片描述

7.使能IO口时钟函数
在这里插入图片描述

三、跑马灯实验–寄存器

1.相关寄存器

在这里插入图片描述

2.直接对寄存器进行控制从而控制LED灯的亮灭。
3.代码
在这里插入图片描述
**

四、跑马灯实验–位操作

1.通过直接对IO口的地址进行操作来改变IO口的值,达到操作IO的目的。
在这里插入图片描述

在这里插入图片描述

2.映射关系
在这里插入图片描述

  • 9
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值