开发环境使用 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);