STM32L0 HAL库 IO读写功能

开发环境使用 MDK5.16a + CUBEMX生成代码

开发板使用:NUCLEO-L053R8

核心芯片:STM32L053R8

今天主要学习了下最基础的IO的读写,IO使用 PA5   LED输出, PC13按键输入

使用CUBEMX生成LED和按键的设置输入输出的代码(此步略去),比较简单戳戳点点就行了

注意事项:

1.NUCLEO板子没外置晶振,所以晶振选择HSI

2.按键最好设置使用内部上拉,个人习惯。没仔细看电路上的按键是否是有上拉。

3.MDK使用GB2312编码格式,其它的编码写过的中文注释,重新用CUBEMX生成有时候会乱码。

4.自己写的代码一定要写在系统提示的user code begin 和end之间,这样重新生成CUBEMX时候不会覆盖这部分代码,其它的地方写的程序在生成代码时候会被软件覆盖掉。

5.MDK5有自动的代码补全功能,还是挺好使的,记得开启下。

IO的读写学习:

    if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13) == 0){        //是否有按键按下
        HAL_Delay(10);                //延迟去抖动
        if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13) == 0){        //重新检测是否有按键按下
            HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);    //按键按下了,点亮LED
        }else{
            HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);    //松开按键,熄灭LED
        }
    }

 IO状态翻转

HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);
HAL_Delay(1000);
原文地址:https://www.cnblogs.com/Mysterious/p/4804144.html