DVR/NVR设备前面板设备使用的是STM32F,实现关机及重启,心跳 功能的实现。
但是自己设计的关机代码烧进前面板,无法实现其功能。
贴一段代码:
//实现poweroff 读取5次字节每次读取一个字节,判断是否为关闭电源编码,如果是则关机
for(i = 0;i < 5; i++ )
{
comGetChar(COM1, &BtnPowerBuffer[i]);
}
if(BtnPowerBuffer[0] == 0x4E && BtnPowerBuffer[1] == 0x55 && BtnPowerBuffer[2] == 0x02 &&BtnPowerBuffer[3] == 0x0C &&BtnPowerBuffer[4] == 0x0B)
{
GPIO_ResetBits(GPIOC,GPIO_Pin_11); //关机
POWER_STATE = MAINBOARD_POWER_OFF;
key_power_counter = 0;
GPIO_SetBits(GPIOA,GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_5 | GPIO_Pin_7 | GPIO_Pin_8);
GPIO_SetBits(GPIOB,GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8
| GPIO_Pin_10| GPIO_Pin_15);
GPIO_SetBits(GPIOC,GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_8 | GPIO_Pin_9);
GPIO_ResetBits(GPIOB,GPIO_Pin_9);
Buzzer_state = 0;
}
else
continue;
}
------解决方案--------------------