STM32L0 HAL库 IO读写功能

来源:互联网 发布:linux spark 编辑:程序博客网 时间:2024/05/17 09:33

开发环境使用 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的读写学习:

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








1 0