创作本文目的:记录自己的学习历程
一、M4核中断实验
1.要求
使用M4核,检测到中断触发时,灯的状态(GPIO控制器)取反,并且检测到中断时,需要打印(串口)触发信息
2.部分代码
.h
#include "gpio.h"
/* USER CODE BEGIN 0 */
void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin)
{
switch(GPIO_Pin)
{
//key1-->pe8
case GPIO_PIN_9:
{
printf("key1--led3\n");
HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_8);
}break;
//key2-->pf10
case GPIO_PIN_7:
{
printf("key2--led2\n");
HAL_GPIO_TogglePin(GPIOF,GPIO_PIN_10);
}break;
//key3-->pe10
case GPIO_PIN_8:
{
printf("key3--led1\n");
HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_10);
}break;
}
}
/* USER CODE END 0 */
/*----------------------------------------------------------------------------*/
/* Configure GPIO */
/*----------------------------------------------------------------------------*/
/* USER CODE BEGIN 1 */
void HAL_GPIO_EXTI_Rising_Callback(uint16_t GPIO_Pin)
{
switch(GPIO_Pin)
{
//人体红外-->pf12
case GPIO_PIN_12:
printf("infra-red!\n");
break;
//火焰开关-->pf5
case GPIO_PIN_5:
printf("flame!\n");
break;
//光电开关-->pe15
case GPIO_PIN_15:
printf("light!\n");
break;
}
}