读取IO口输入的函数: STM32F4 的 IO口做输入使用的时候,是通过调用函数 GPIO_ReadInputDataBit()来读取 IO 口的状态的.了解了这点,就可以开始我们的代码编写了. 按键与stm32f4连接原理图 右图可知四个按键与mcu的io引脚连接关系如下: KEY_UP KEY0 KEY_1 KEY2 PA0 PE4 PE3 PE2 注意: KEY0. KEY1 和 KEY2 是低电平有效的(按键按下时为低电平),而 KEY_UP 是高电平有效 的, 并且外部都没有上下拉电…
库函数版本: 库函数 源文件 头文件 GPIO_Init(GPIOE, &GPIOE_initstructure) stm32f4xx_gpio.c stm32f4xx_gpio.h RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE); stm32f4xx_rcc.c stm32f4xx_rcc.h 寄存器版本: 寄存器 源文件 头文件 RCC->AHB1ENR |= 1<<0;   stm32f4xx.h GPIO_Set(G…
原理图: MCU在开发板原理图的第二页,LED在开发板原理图的第三页 由图可知,PF9 ,PF10 若输出低电平则灯亮,高电平则灯灭 选推挽输出 代码步骤 使能IO口时钟. 调用函数RCC_AHB1PeriphClockCmd();不同的外设调用的时钟使能函数可能不一样 初始化IO口模式.调用函数GPIO_Init(); 操作IO口,输出高低电平. GPIO_SetBits(); GPIO_ResetBits(); 实现步骤 1.删掉FWLIB中不用的源文件(以提高编译速度),保留misc,rc…
I/O口做为输入的例子.通过配置寄存器设置为输入口,检测对应寄存器的值,判读输入状态,按键是否被按下.…
更多原理请参考跑马灯 库函数版 个人笔记 步骤 使能IO口时钟.配置相关寄存器寄存器RCC->AHB1ENR 初始化IO口模式.配置四个配置寄存器 GPIOx_MODER/ GPIOx_OTYPER/ GPIOx_OSPEEDR/ GPIOx_PUPDR 操作IO口,输出高低电平.配置寄存器GPIOX_ODR或者BSRRL/BSRRH. 代码 led.c #include "led.h" #include "stm32f4xx.h" void LED_Init…
前言 第26节也是串口,笔记链接在此:https://www.cnblogs.com/YuQiao0303/p/10019362.html github地址:https://github.com/YuQiao0303/STM32F407-Examples 基本把27节的新内容都写在代码注释里了,只有一点: 在串口调试助手中,选"发送新行",则这一条数据会以0x0d,0x0a 结尾(ascii码) 代码 usart.c #include "sys.h" #includ…
前言 这篇笔记对应正点原子STM32F407探索者 ,教学视频第26节,网址如下: https://ke.qq.com/webcourse/index.html#cid=279403&term_id=100330877&taid=1965424279569259&vid=u14245plf1d 这段代码在提供的源码里是没有的,后来有没有在公众号更新我就没注意了.最初版本的源码里确实没有这一篇. GPIO引脚复用配置 详见 https://www.cnblogs.com/YuQiao…
STM32外部脉冲ETR引脚:TIM1-->PA12;TIMER2-->PA0:TIMER3-->PD2;TIMER4-->PE0… 1.TIM2 PA0计数 配置步骤 ①开启TIM2时钟,配置PA0输入 APB1外设复位寄存器 (RCC_APB1RSTR) APB2外设时钟使能寄存器(RCC_APB2ENR) 置1开启.清0关闭. Eg:RCC->APB1ENR|=1<<0; //使能TIM2时钟  RCC->APB2ENR|=1<<2;  …
STM32的I/O口可以由软件配置成如下8种模式:输入浮空.输入上拉.输入下拉.模拟输入.开漏输出.推挽输出.推挽式复用功能及开漏复用功能.每个I/O口由7个寄存器来控制:配置模式的端口配置寄存器CRL和CRH(模式.速度):数据寄存器IDR和ODR:置位/复位寄存器BSRR:复位寄存器BRR:锁存寄存器LCKR. I/O口模式: GPIO的8种模式 通用输出 推挽输出(Push-Pull) 可以输出高.低电平,连接数字器件   开漏输出(Open-Drain) 开漏引脚不连接外部的上拉电阻时,…
stm32的每个I/O口都可以作为中断输入,要把I/O口设置为外部中断输入,必须将I/O口设置为上拉/下拉输入 或 浮空输入(但浮空的时候外部一定要带上拉或下拉电阻,否则可能导致 中断不停的触发),干扰大时,上拉/下拉输入模式也建议使用外部上拉/下拉电阻. 1.设置外部中断 的步骤 ①初始化I/O口为输入 参见 stm32寄存器版学习笔记01 GPIO口的配置. ②开启I/O口复用时钟, 设置I/O口与中断线的映射关系 这一步在函数void Ex_NVIC_Config(u8 GPIOx,u8…