STM32总结之GPIO编程过程

发布者:RadiantExplorer最新更新时间:2021-01-05 来源: eefocus关键字:STM32  GPIO  编程过程 手机看文章 扫描二维码
随时随地手机看文章

寄存器点亮LED的过程
1:通过原理图找到要点亮的LED灯对应的GPIO口
2.通过stm32手册找到要操作的寄存器,找到这个GPIO的基地址,
    基地址+地址偏移 = 目标寄存器的地址
3.编码
    1.打开对应的GPIO的时钟。
    2.通过操作CRL寄存器将对应的GPIO口设置为推挽输出模式,并设置一    个翻转速度
    3.通过操作ODR寄存器,将电平置高或置低。


按键操作过程
1.通过原理图找到要操作的按键对应的GPIO
2.通过stm32手册找到要操作的寄存器,找到这个GPIO的基地址
    基地址+地址偏移 = 目标寄存器的地址
3.编码
    1.打开对应的GPIO的时钟。
    2.通过操作CRL寄存器将对应的GPIO口设置为浮空输入模式.
    3.通过读取IDR寄存器来获取对应GPIO口的高低电平状态。


固件库点亮LED的过程(以PB0为例)
1.定义一个GPIO结构体(GPIO_InitTypeDef)类型的变量
    GPIO_InitTypeDef GPIOB_Pin0;    
    
2.打开GPIO的时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

3.将GPIO结构体变量的成员进行赋值:端口、模式、翻转速度(定义的内容位于GPIO.h文件)
    GPIOB_Pin0.GPIO_Pin = GPIO_Pin_0;    
    GPIOB_Pin0.GPIO_Mode = GPIO_Mode_Out_PP;   
    GPIOB_Pin0.GPIO_Speed = GPIO_Speed_50MHz; 

4.GPIO初始化
    GPIO_Init(GPIOB, &GPIOB_Pin0);

5.将相应的引脚置高、置低
            GPIO_ResetBits(GPIOB, GPIO_Pin_0);

            GPIO_SetBits(GPIOB, GPIO_Pin_0);


关键字:STM32  GPIO  编程过程 引用地址:STM32总结之GPIO编程过程

上一篇:STM32CubeIDE开发环境新增FreeRTOS™线程感知调试功能
下一篇:STM32F103学习记录-----GPIO篇

推荐阅读最新更新时间:2024-11-17 02:14

STM32 通用定时器的学习
使用STM32通用定时器产生中断的步骤: 1)TIM3时钟使能 2)设置TIM3_ARR和TIM3_PSC的值 通过这两个寄存器,我们来设置自动重装的值,以及分频系数。这两个参数加上时钟频率,就决定了定时器的溢出时间。 3)设置TIM3_DIER允许更新中断 因为我们要使用TIM3的更新中断,所以设置DIRE 的UIE位,并使能触发中断 4)允许TIM3工作 光配置定时器还不行,没有开启定时器,照样不能使用。我们在配置完后要开启定时器,通过TIM3_CR1的CEN位来设置。 TIM3_CR1是控制寄存器,控制定时器的开启,还有一些工作方式。 5)TIM3中断分组设置 在定时器配置完了以后,因为要产生中断,必不可少的
[单片机]
STM32学习之路之入门篇
2006年ARM公司推出了基于ARMV7架构的cortex系列的标准体系结构,以满足各种技术得不同性能要求,包含了A,R,M三个分工明确的系列 其中A系列面向复杂的尖端应用程序,用于运行开放式的复杂操作系统;R系列适合实时操作系统,M系列专门针对低成本的微控制领域。而我们今天要学习的STM32就是M3的处理器 STM32(M3)处理器的基本结构,基本结构如图所示,主要包括处理器核cortex-m3 core,NVIC,BUS MATRIS,FLASH转换,及断点单元,DWT,ITM,MPU,ETM,TPIU,ROM Table SW/SWJ-DP等模块,其中MPU和ETM单元是可选单元。 这些单元可分为内外两个层次,
[单片机]
<font color='red'>STM32</font>学习之路之入门篇
STM32学习笔记3——stm32系统时钟树
①HSI 是内部高速时钟, RC 振荡器, 频率为 8MHz。 可作为系统时钟或 PLL 锁相环的输入。 ②HSE 是外部高速时钟。 可通过外接一个频率范围是 4-16MHz 的时钟或者晶振。 HSE 可以作为系统时钟和 PLL 锁相环输入, 还可以经过 128 分频后输入给 RTC。 ③LSI 是内部低速时钟, RC 振荡器, 频率大约为 40K, 可供独立看门狗和 RTC 使用, 并且独立看门狗只能使用 LSI 时钟。 ④LSE 是外部低速时钟,芯片上有相应的外部低速时钟管脚。 通常在此管脚上外接一个 32.768KHz 的晶振, 供 RTC使用。 ⑤PLL 是锁相环, 用于倍频输出。
[单片机]
<font color='red'>STM32</font>学习笔记3——<font color='red'>stm32</font>系统时钟树
stm32GPIO学习
void LED_GPIO_Config(void) 24. { 25. /*定义一个GPIO_InitTypeDef 类型的结构体*/ 26. GPIO_InitTypeDef GPIO_InitStructure; 27. 28. /*开启GPIOC 的外设时钟*/ 29. RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE); 30. 31. /*选择要控制的GPIOC 引脚 */ 32. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 ; 33. 34. /*设置引脚模式为通用推挽输
[单片机]
stm32增加bootloader后进不了中断
加bootloader前能进,加了后进不了,但是主程序不崩正常跑 可能是bootloader里跳转前把中断关掉了。 即在bootloader里这样设置过: __set_PRIMASK(1); 则需要在应用层里添加: __set_PRIMASK(0); 重新把中断打开 加bootloader前能进,加了后程序崩到HardFault里 可能这句没加 SCB- VTOR = 0x08010000; 或者是C++工程没有用extern C 把中断函数包起来 加了bootloader后程序乱跑,debug时JLink还会报错。 JLink报 **JLink Warning: T-bit of
[单片机]
走进STM32世界之Hex程序烧写
在光立方活动中,有少部分网友提出不会将HEX程序烧录至STM32芯片内,也为了早就想开始的STM32系列基础教程,在北京的这个雨夜开始 走进STM32世界 。 多数51单片机(STC系列单片机)的初学者都知道,在51单片机初上电时,可以通过PC机上位机软件将程序引导至bootloader,从而将新程序的hex文件下载至单片机中,完成程序的升级或是更新。在32位Cortex-M3内核下的STM32单片机也是可以做到的。这个上位机软件叫做 Flash loader demonstrator ;短接boot0与VCC后,再次复位即进入到升级模式(System memory boot loader)。 我们需要先下载芯片烧录工具软件Fla
[单片机]
走进<font color='red'>STM32</font>世界之Hex程序烧写
STM32处理器A/D转换输入电阻与采样时间的分析
当经过运算放大器隔离之后的信号输入到STM32处理器的模拟输入口时, 我们需要串联一个电阻,根据规格书的A/D转换电路框图所示, 图1.A/D转换电路框图闪 图中RAIN为外部输入电阻,最大值为50KΩ; RADC为内部采样开关电阻,最大值为1KΩ; CADC为内部采样和保持电容,最大值为8pF. 图2.ADC特性参数 而外部输入电阻的取值与采样时间、采样保持电容有关,如下图: 图3. 外部电容最大取值与采样时间关系 这些取值背后有什么深层的逻辑,外部输入电阻RAIN起到什么作用,应当如何取值? 外部输入电阻的作用 一、限流作用 根据图1所示的框图,处理器的模拟输入口内置了上、下拉的保护二极管。 我们所说的输入口阻抗高
[单片机]
<font color='red'>STM32</font>处理器A/D转换输入电阻与采样时间的分析
基于STM32的矿用本质安全型电源设计
  本安 电源 是本安型电气设备的一个重要组成部分,由于煤矿的机械化,井下 传感器 、弯道 报警器 等设备的供电,通信、报警都需要供电设备。但是基于井下复杂的环境,对供电设备的要求也是非常严格的,它要求电源电路的内部和引出线无论是在正常工作还是在故障状态下都是安全的并且产生的电火花不会点燃周围环境中的爆炸性混合物。本安电源有“ia”和“ib”两个等级。在本文中介绍的本安电源是井下常用的“ia”等级,也就是说在一个故障,一套保护电路损坏的情况下也能继续工作。    1 本安电源的组成及工作原理    1.1 电源   本系统中本安电源的输入+Vin、-Vin为48 V 直流电源,经过DC/DC 电源转换模块(U1)输
[电源管理]
基于<font color='red'>STM32</font>的矿用本质安全型电源设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved