/* USER CODE BEGIN Private defines */
#define ON 0
#define OFF 1
#define LED1(a) if (a) \
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14, GPIO_PIN_SET);\
else \
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14, GPIO_PIN_RESET)
#define LED2(a) if (a) \
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15, GPIO_PIN_SET);\
else \
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15, GPIO_PIN_RESET)
/* USER CODE END Private defines */
6. 打开main.c文件,在while(1)主循环里面添加以下内容
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
LED1( ON );
LED2( OFF );
HAL_Delay(1000); // 1000 * 1ms = 1s
LED1( OFF );
LED2( ON );
HAL_Delay(1000);
}
/* USER CODE END 3 */
调用Systick延迟函数HAL_Delay,这个函数是以ms为间隔的延迟函数。
7. 编译通过,烧写开发板,两个LED交叉闪烁。用Systick做延迟的实例完成。