硬件连线
IO口初始化
核心代码
#define J_OFF 0
#define J_ON 1
//重写中断服务函数,如果检测到EXTI中断请求,侧进入此函数
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
static int mark=J_OFF;
/*如果检测到PA4(振动器触动)被拉低,报警模式开启
则将PB7拉低,继电器通电,喇叭一直响*/
switch(GPIO_Pin)
{
case GPIO_PIN_4:
if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_4)==GPIO_PIN_SET&&mark)
{
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,GPIO_PIN_RESET);
}
break;
/*如果检测到PA5被拉高(按键A被按下),设定为开启警报模式
则PB7拉低(喇叭响)两秒,表示进入报警状态
同时将表