12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #include "reset.h"
- #include "timer.h"
- #include "usart.h"
- #include "myFile.h"
- static GPIO_InitTypeDef GPIO_InitStruct = {0};
- void resetConfig(void)
- {
- /*开启LED相关的GPIO外设时钟*/
- __HAL_RCC_GPIOG_CLK_ENABLE();
- /*选择要控制的GPIO引脚*/
- GPIO_InitStruct.Pin = RESET_PIN;
- /*设置引脚模式为输出模式*/
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- /*设置引脚为上拉模式*/
- GPIO_InitStruct.Pull = GPIO_PULLUP;
- /*设置引脚速率 */
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- /*调用库函数,使用上面配置的GPIO_InitStructure初始化GPIO*/
- HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
- }
- void reset_task(void const* arg)
- {
- while(1)
- {
- if(HAL_GPIO_ReadPin(GPIOG, RESET_PIN) == RESET)
- {
- DeleteDirFile("device.txt");
- __set_PRIMASK(1);
- NVIC_SystemReset();
- }
- vTaskDelay(100);
- }
- }
- void reset_task_creat(void)
- {
- osThreadDef(RESET, reset_task, osPriorityNormal, 0, configMINIMAL_STACK_SIZE * 4);
- osThreadCreate (osThread(RESET), NULL);
- }
|