目录
5.选择端口输出设置,选择需要的端口,点击设置GPIO_OUTPUT
一、HAL库点灯
(一)环境配置
参考博客:
STM32基于HAL库流水灯实验_hel库安装教程中文版-CSDN博客
(二)CubeMX建项目
1.新建File
->Project
2.选择芯片STM32F103C8
3.SYS
选择
4.RCC
选择
5.选择端口输出设置,选择需要的端口,点击设置GPIO_OUTPUT
6.Clock Configuration
设置
7.Project Manager
设置
路径不能有汉字、空格
8.创建完成并用keil打开、
若出现如上图报错参考以下博客:
STM32CubeMX 报错:......C but MDK-ARM V5.32project generation have a problem.-CSDN博客
(二)HAL库点灯
1.实验一
在while(1)中输入以下代码
while (1)
{
HAL_Delay(1000);
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_8);
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_7);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
2.实验二
HAL_GPIO_ReadPin函数读取开关的输入电平
GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
{
GPIO_PinState bitstatus;
/* Check the parameters */
assert_param(IS_GPIO_PIN(GPIO_Pin));
if ((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET)
{
bitstatus = GPIO_PIN_SET;
}
else
{
bitstatus = GPIO_PIN_RESET;
}
return bitstatus;
}
main.c
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
#define KEY1_State HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_15)
#define KEY2_State HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_0)
/* USER CODE END PD */
while (1)
{
HAL_Delay(500);
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_8);
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_7);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}