实验集链接:https://blog.csdn.net/weixin_43905586/article/details/104707248
参考操作视频链接:https://www.bilibili.com/video/av94261558?p=2
实验目的:掌握GPIO的输入功能。
实验现象:按下USER按键,LD5点亮,松开后熄灭。
鄙人拙见:
- 首先利用Stm32CubeMX新建工程,将P14引脚设置为输入,PC15引脚设置为输出,生成代码。
- 在Keil中打开ex1.uvprojx文件,注意:①修改Target中的Xtal(MHz)为120②Debug中的Use为CMSIS-DAP Debugger,③将Flash Download中的Reset and Run打√
部分参考代码:
首先将各引脚预定义,方便后续操作。
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
#define USER_KEY GPIO_PIN_14
#define LD5 GPIO_PIN_15
/* USER CODE END PM */
将按键的值进行定义并初始化
/* USER CODE BEGIN 1 */
uint8_t UserKey_Value = 0;
/* USER CODE END 1 */
条件判断当按键的值为0时灯亮,为1时灯灭
while (1)
{
UserKey_Value = HAL_GPIO_ReadPin(GPIOC,USER_KEY);
if(UserKey_Value == 0)
{
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_15, GPIO_PIN_RESET);
}
else if(UserKey_Value == 1)
{
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_15, GPIO_PIN_SET);
}
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
实验现象:按下USER按键,LD5点亮,松开后熄灭。