STM32代码(不完全)
Posted 贩卖星辰点点
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32代码(不完全)相关的知识,希望对你有一定的参考价值。
1.内置LED闪烁
STM32最小系统板拥有内置LED,连接芯片PC13口
1+.根据cubemx生成代码模板;(网上有详细教程)
2+.在模板的主函数处的while(1)处,填写代码(如图):
//HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET)是HAL库中自定义的管脚,可以自行查看
HAL_Delay(50);
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);//RESET低电平
HAL_Delay(50);
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);//SET高电平
2.按键
- 三个按键,两个LED
- 实现功能:按键1按下,控制LED1亮灭;按键2按下,控制LED2亮灭;按键3按下,控制LED1和LED2亮灭
- 管脚设置,详细上拉下拉设置,之前写过,可以翻阅查看
- 代码
#define KEY0 HAL_GPIO_ReadPin((GPIO_TypeDef *)GPIOC, (uint16_t) GPIO_PIN_5) //宏定义按键,方便下边使用
#define KEY1 HAL_GPIO_ReadPin((GPIO_TypeDef *)GPIOA, (uint16_t) GPIO_PIN_15)
#define KEYWKUP HAL_GPIO_ReadPin((GPIO_TypeDef *)GPIOA, (uint16_t) GPIO_PIN_0)
if(KEY0==0)HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_SET);
if(KEY1==1)HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET);
if(KEY1==0)HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);
if(KEY0==1)HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);
if(KEYWKUP==0)HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_SET);
if(KEYWKUP==1)HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET); HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET);
以上是关于STM32代码(不完全)的主要内容,如果未能解决你的问题,请参考以下文章