L16物联网ARM开发--开发环境搭建及平台及GPIO口操作平台介绍(day2、3)
创始人
2024-02-15 15:31:49

目录

一、MDK-ARM环境介绍及安装

二、STM32Cube简介及安装

  STM32CubeMX安装

加载固件库

​编辑

 三、 STM32F0存储器映射

四、STM32启动文件分析

五、GPIO的基本概念及寄存器介绍1

1、GPIO接口简介

 2、GPIO功能复用

 3、GPIO寄存器介绍

 GPIO工作原理框图:

五、点亮LED寄存器版(STM32F051K8)

1、硬件原理图分析

2、 使能GPIO的时钟

3、编程步骤分析 

六、点亮LED库函数版(STM32F051K8) 

2、CubeMX的配置

 3、初始化关键代码分析

4、控制LED关键代码分析

七、初识人机交互--按键

1、硬件原理图分析

作业:拍摄stm32流水灯视频


一、MDK-ARM环境介绍及安装

 略

二、STM32Cube简介及安装

 直观的选择STM32微控制器
 微控制器图形化配置
自动处理引脚冲突
动态设置确定的时钟树
可以动态确定参数设置的外围和中间件模式和初始化
功耗预测
 C代码工程生成器覆盖了STM32微控制器初始化编译软件,如IAR,KEIL,GCC可以独立使用,作为Eclipse插件使用

  STM32CubeMX安装

  安装JAVA运行环境,JavaSetup8u151.exe 
  解压stm32cubemx.zip,安装SetupSTM32CubeMX-4.22.0.exe,最好不要有中文路径
  解压stm32cube_fw_f0_v180.zip到STM32CubeMX的安装路径中
 

加载固件库

 三、 STM32F0存储器映射

 略

四、STM32启动文件分析

五、GPIO的基本概念及寄存器介绍1

1、GPIO接口简介

 通用输入输出接口GPIO是嵌入式系统、单片机开发过程中最常用的接口,用户可以通过编程灵活的对接口进行控制,实现对电路板上LED、数码管、按键等常用设备控制驱动,也可以作为串口的数据收发管脚,或AD的接口等复用功能使用。因此其作用和功能是非常重要的。

 

 2、GPIO功能复用

 注:查看 《 STM32F0数据手册》

 3、GPIO寄存器介绍

  STM32F051-GPIO常用寄存器  

4个32位配置寄存器         GPIOx_MODER,  GPIOx_OTYPER,  GPIOx_OSPEEDR     GPIOx_PUPDR  

2个32位数据寄存器       GPIOx_IDR 、GPIOx_ODR

1 个32 位置位 / 复位寄存器       GPIOx_BSRR

2 个 32 位复用功能配置寄存器      GPIOx_AFRH 、GPIOx_AFRL

注:每一组GPIO端口都有一套上述的寄存器去配置它自己的功能

GPIO寄存器MODER:

GPIO 端口模式寄存器 (GPIOx_MODER) (x = A..D,F)     偏移地址: 0x00     复位值:  

●  0x2800 0000 端口 A   ●  0x0000 0000 其他口

GPIO寄存器OTYPER:

GPIO 端口输出类型寄存器 (GPIOx_OTYPER) (x = A..D,F)   偏移地址: 0x04   复位值: 0x0000 0000

 

 GPIO工作原理框图:

 GPIO寄存器OSPEEDR:

  GPIO 口输出速度寄存器 (GPIOx_OSPEEDR) (x = A..D,F)      偏移地址: 0x08      复位值: 0x0000 0000

 

 GPIO寄存器PUPDR:

  GPIO 口上拉 / 下拉寄存器 (GPIOx_PUPDR) (x = A..D,F)      偏移地址: 0x0C      复位值:     ● 0x2400 0000 端口 A     ● 0x0000 0000 其它端口

 

 GPIO寄存器IDR:

  GPIO 端口输入数据寄存器 (GPIOx_IDR) (x = A..D,F)      偏移地址: 0x10      复位值: 0x0000 XXXX (X 表明不定 )

 

 GPIO寄存器ODR: 

GPIO 端口输出数据寄存器 (GPIOx_ODR) (x = A..D,F)      偏移地址: 0x14      复位值: 0x0000 0000

 

 GPIO寄存器BSRR:

  GPIO 端口置位 / 复位寄存器 (GPIOx_BSRR) (x = A..D,F)      偏移地址: 0x18      复位值: 0x0000 0000

 

 GPIO寄存器AFRL:

  GPIO 复用功能低位寄存器 (GPIOx_AFRL) (x = A..B)       偏移地址: 0x20       复位值: 0x0000 0000

 

GPIO寄存器AFRH:

  GPIO 复用功能低位寄存器 (GPIOx_AFRH) (x = A..B)       偏移地址: 0x24       复位值: 0x0000 0000

 

五、点亮LED寄存器版(STM32F051K8)

1、硬件原理图分析

 

2、 使能GPIO的时钟

 

  AHB 外部时钟使能寄存器 (RCC_AHBENR)    

偏移地址 : 0x14     复位值 : 0x0000 0014     访问:无等待周期,字,半字和字节访问

3、编程步骤分析 

  开启GPIOB的时钟        RCC->AHBENR  |=  1<<18;              

配置PB0 PB1 PB2接口          

GPIOB->MODER |= (1<<0)|(1<<2)|(1<<4);    //设置PB0, PB1, PB2为通用输出模式       GPIOB->OTYPER = 0x0;                                      //设置PB0, PB1, PB2为通用推挽输出       GPIOB->OSPEEDR = 0x0;                                   //设置输出速度为低速  

控制LED;                          

GPIOB->BSRR = (1<<16)|(1<<17)|(1<<18);     //复位PB0, PB1, PB2 既点亮LED        GPIOB->BSRR = (1<<0)|(1<<1)|(1<<2);            //置位PB0, PB1, PB2 既熄灭LED

六、点亮LED库函数版(STM32F051K8) 

 1、硬件原理图

2、CubeMX的配置

 

 

 3、初始化关键代码分析

 GPIOB初始化

void MX_GPIO_Init(void)
{
      GPIO_InitTypeDef GPIO_InitStruct;

    __HAL_RCC_GPIOB_CLK_ENABLE();                                                     //使能GPIOB的时钟
    
     GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2;       //初始化对象为0, 1, 2号管脚
      GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;                        //模式为推挽输出
      GPIO_InitStruct.Pull = GPIO_NOPULL;                                                //没有上拉
      GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;                         //低速
      HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);                                       //配置好后开始初始化
}

4、控制LED关键代码分析

复位PB0, PB1, PB2 既点亮LED      

HAL_GPIO_WritePin(GPIOB,  GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2, GPIO_PIN_RESET);  

置位PB0, PB1, PB2 既熄灭LED        

HAL_GPIO_WritePin(GPIOB,  GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2, GPIO_PIN_SET);

七、初识人机交互--按键

1、硬件原理图分析

 

 

作业:拍摄stm32流水灯视频

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...