c48256cf by 张亚玄

add IWDG demo

1 parent 88ee1883
1 !.c 1 !.c
2 !.h 2 !.h
3 Debug 3 Debug
4 Release
...\ No newline at end of file ...\ No newline at end of file
4 Release
5 *.launch
6 .settings
...\ No newline at end of file ...\ No newline at end of file
......
1 [PreviousGenFiles] 1 [PreviousGenFiles]
2 AdvancedFolderStructure=true 2 AdvancedFolderStructure=true
3 HeaderFileListSize=8 3 HeaderFileListSize=9
4 HeaderFiles#0=F:/IoT/STM32/workspace/STM32Test/Core/Inc/gpio.h 4 HeaderFiles#0=F:/IoT/STM32/workspace/STM32Test/Core/Inc/gpio.h
5 HeaderFiles#1=F:/IoT/STM32/workspace/STM32Test/Core/Inc/FreeRTOSConfig.h 5 HeaderFiles#1=F:/IoT/STM32/workspace/STM32Test/Core/Inc/FreeRTOSConfig.h
6 HeaderFiles#2=F:/IoT/STM32/workspace/STM32Test/Core/Inc/sys.h 6 HeaderFiles#2=F:/IoT/STM32/workspace/STM32Test/Core/Inc/iwdg.h
7 HeaderFolderListSize=1 7 HeaderFolderListSize=1
8 HeaderPath#0=F:/IoT/STM32/workspace/STM32Test/Core/Inc 8 HeaderPath#0=F:/IoT/STM32/workspace/STM32Test/Core/Inc
9 SourceFileListSize=9 9 SourceFileListSize=10
10 SourceFiles#0=F:/IoT/STM32/workspace/STM32Test/Core/Src/gpio.c 10 SourceFiles#0=F:/IoT/STM32/workspace/STM32Test/Core/Src/gpio.c
11 SourceFiles#1=F:/IoT/STM32/workspace/STM32Test/Core/Src/freertos.c 11 SourceFiles#1=F:/IoT/STM32/workspace/STM32Test/Core/Src/freertos.c
12 SourceFiles#2=F:/IoT/STM32/workspace/STM32Test/Core/Src/sys.c 12 SourceFiles#2=F:/IoT/STM32/workspace/STM32Test/Core/Src/iwdg.c
13 SourceFolderListSize=1 13 SourceFolderListSize=1
14 SourcePath#0=F:/IoT/STM32/workspace/STM32Test/Core/Src 14 SourcePath#0=F:/IoT/STM32/workspace/STM32Test/Core/Src
15 HeaderFiles#3=F:/IoT/STM32/workspace/STM32Test/Core/Inc/tim.h 15 HeaderFiles#3=F:/IoT/STM32/workspace/STM32Test/Core/Inc/sys.h
16 HeaderFiles#4=F:/IoT/STM32/workspace/STM32Test/Core/Inc/usart.h 16 HeaderFiles#4=F:/IoT/STM32/workspace/STM32Test/Core/Inc/tim.h
17 HeaderFiles#5=F:/IoT/STM32/workspace/STM32Test/Core/Inc/stm32f0xx_it.h 17 HeaderFiles#5=F:/IoT/STM32/workspace/STM32Test/Core/Inc/usart.h
18 SourceFiles#3=F:/IoT/STM32/workspace/STM32Test/Core/Src/stm32f0xx_hal_timebase_tim.c 18 SourceFiles#3=F:/IoT/STM32/workspace/STM32Test/Core/Src/sys.c
19 SourceFiles#4=F:/IoT/STM32/workspace/STM32Test/Core/Src/tim.c 19 SourceFiles#4=F:/IoT/STM32/workspace/STM32Test/Core/Src/stm32f0xx_hal_timebase_tim.c
20 SourceFiles#5=F:/IoT/STM32/workspace/STM32Test/Core/Src/usart.c 20 SourceFiles#5=F:/IoT/STM32/workspace/STM32Test/Core/Src/tim.c
21 SourceFiles#6=F:/IoT/STM32/workspace/STM32Test/Core/Src/stm32f0xx_it.c 21 SourceFiles#6=F:/IoT/STM32/workspace/STM32Test/Core/Src/usart.c
22 HeaderFiles#6=F:/IoT/STM32/workspace/STM32Test/Core/Inc/stm32f0xx_hal_conf.h 22 HeaderFiles#6=F:/IoT/STM32/workspace/STM32Test/Core/Inc/stm32f0xx_it.h
23 SourceFiles#7=F:/IoT/STM32/workspace/STM32Test/Core/Src/stm32f0xx_hal_msp.c 23 SourceFiles#7=F:/IoT/STM32/workspace/STM32Test/Core/Src/stm32f0xx_it.c
24 HeaderFiles#7=F:/IoT/STM32/workspace/STM32Test/Core/Inc/main.h 24 HeaderFiles#7=F:/IoT/STM32/workspace/STM32Test/Core/Inc/stm32f0xx_hal_conf.h
25 SourceFiles#8=F:/IoT/STM32/workspace/STM32Test/Core/Src/main.c 25 SourceFiles#8=F:/IoT/STM32/workspace/STM32Test/Core/Src/stm32f0xx_hal_msp.c
26 HeaderFiles#8=F:/IoT/STM32/workspace/STM32Test/Core/Inc/main.h
27 HeaderFiles=;
28 SourceFiles#9=F:/IoT/STM32/workspace/STM32Test/Core/Src/main.c
29 SourceFiles=;
26 30
27 [PreviousLibFiles] 31 [PreviousLibFiles]
28 LibFiles=Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h;Drivers/STM32F0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h;Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h;Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h;Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h;Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h;Middlewares/Third_Party/FreeRTOS/Source/include/list.h;Middlewares/Third_Party/FreeRTOS/Source/include/message_buffer.h;Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h;Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h;Middlewares/Third_Party/FreeRTOS/Source/include/portable.h;Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h;Middlewares/Third_Party/FreeRTOS/Source/include/queue.h;Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h;Middlewares/Third_Party/FreeRTOS/Source/include/stack_macros.h;Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h;Middlewares/Third_Party/FreeRTOS/Source/include/stream_buffer.h;Middlewares/Third_Party/FreeRTOS/Source/include/task.h;Middlewares/Third_Party/FreeRTOS/Source/include/timers.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/portmacro.h;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c;Middlewares/Third_Party/FreeRTOS/Source/croutine.c;Middlewares/Third_Party/FreeRTOS/Source/event_groups.c;Middlewares/Third_Party/FreeRTOS/Source/list.c;Middlewares/Third_Party/FreeRTOS/Source/queue.c;Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c;Middlewares/Third_Party/FreeRTOS/Source/tasks.c;Middlewares/Third_Party/FreeRTOS/Source/timers.c;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c;Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.c;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h;Drivers/STM32F0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h;Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h;Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h;Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h;Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h;Middlewares/Third_Party/FreeRTOS/Source/include/list.h;Middlewares/Third_Party/FreeRTOS/Source/include/message_buffer.h;Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h;Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h;Middlewares/Third_Party/FreeRTOS/Source/include/portable.h;Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h;Middlewares/Third_Party/FreeRTOS/Source/include/queue.h;Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h;Middlewares/Third_Party/FreeRTOS/Source/include/stack_macros.h;Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h;Middlewares/Third_Party/FreeRTOS/Source/include/stream_buffer.h;Middlewares/Third_Party/FreeRTOS/Source/include/task.h;Middlewares/Third_Party/FreeRTOS/Source/include/timers.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/portmacro.h;Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x8.h;Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h;Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h;Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/tz_context.h; 32 LibFiles=Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h;Drivers/STM32F0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_iwdg.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h;Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h;Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h;Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h;Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h;Middlewares/Third_Party/FreeRTOS/Source/include/list.h;Middlewares/Third_Party/FreeRTOS/Source/include/message_buffer.h;Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h;Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h;Middlewares/Third_Party/FreeRTOS/Source/include/portable.h;Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h;Middlewares/Third_Party/FreeRTOS/Source/include/queue.h;Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h;Middlewares/Third_Party/FreeRTOS/Source/include/stack_macros.h;Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h;Middlewares/Third_Party/FreeRTOS/Source/include/stream_buffer.h;Middlewares/Third_Party/FreeRTOS/Source/include/task.h;Middlewares/Third_Party/FreeRTOS/Source/include/timers.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/portmacro.h;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_iwdg.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c;Middlewares/Third_Party/FreeRTOS/Source/croutine.c;Middlewares/Third_Party/FreeRTOS/Source/event_groups.c;Middlewares/Third_Party/FreeRTOS/Source/list.c;Middlewares/Third_Party/FreeRTOS/Source/queue.c;Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c;Middlewares/Third_Party/FreeRTOS/Source/tasks.c;Middlewares/Third_Party/FreeRTOS/Source/timers.c;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c;Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.c;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h;Drivers/STM32F0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_iwdg.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h;Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h;Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h;Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h;Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h;Middlewares/Third_Party/FreeRTOS/Source/include/list.h;Middlewares/Third_Party/FreeRTOS/Source/include/message_buffer.h;Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h;Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h;Middlewares/Third_Party/FreeRTOS/Source/include/portable.h;Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h;Middlewares/Third_Party/FreeRTOS/Source/include/queue.h;Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h;Middlewares/Third_Party/FreeRTOS/Source/include/stack_macros.h;Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h;Middlewares/Third_Party/FreeRTOS/Source/include/stream_buffer.h;Middlewares/Third_Party/FreeRTOS/Source/include/task.h;Middlewares/Third_Party/FreeRTOS/Source/include/timers.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/portmacro.h;Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x8.h;Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h;Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h;Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/tz_context.h;
29 33
30 [PreviousUsedCubeIDEFiles] 34 [PreviousUsedCubeIDEFiles]
31 SourceFiles=Core\Src\main.c;Core\Src\gpio.c;Core\Src\freertos.c;Core\Src\sys.c;Core\Src\stm32f0xx_hal_timebase_tim.c;Core\Src\tim.c;Core\Src\usart.c;Core\Src\stm32f0xx_it.c;Core\Src\stm32f0xx_hal_msp.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c;Middlewares/Third_Party/FreeRTOS/Source/croutine.c;Middlewares/Third_Party/FreeRTOS/Source/event_groups.c;Middlewares/Third_Party/FreeRTOS/Source/list.c;Middlewares/Third_Party/FreeRTOS/Source/queue.c;Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c;Middlewares/Third_Party/FreeRTOS/Source/tasks.c;Middlewares/Third_Party/FreeRTOS/Source/timers.c;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c;Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.c;Core\Src/system_stm32f0xx.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c;Middlewares/Third_Party/FreeRTOS/Source/croutine.c;Middlewares/Third_Party/FreeRTOS/Source/event_groups.c;Middlewares/Third_Party/FreeRTOS/Source/list.c;Middlewares/Third_Party/FreeRTOS/Source/queue.c;Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c;Middlewares/Third_Party/FreeRTOS/Source/tasks.c;Middlewares/Third_Party/FreeRTOS/Source/timers.c;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c;Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.c;Core\Src/system_stm32f0xx.c;Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c;;Middlewares/Third_Party/FreeRTOS/Source/croutine.c;Middlewares/Third_Party/FreeRTOS/Source/event_groups.c;Middlewares/Third_Party/FreeRTOS/Source/list.c;Middlewares/Third_Party/FreeRTOS/Source/queue.c;Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c;Middlewares/Third_Party/FreeRTOS/Source/tasks.c;Middlewares/Third_Party/FreeRTOS/Source/timers.c;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c;Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.c; 35 SourceFiles=Core\Src\main.c;Core\Src\gpio.c;Core\Src\freertos.c;Core\Src\iwdg.c;Core\Src\sys.c;Core\Src\stm32f0xx_hal_timebase_tim.c;Core\Src\tim.c;Core\Src\usart.c;Core\Src\stm32f0xx_it.c;Core\Src\stm32f0xx_hal_msp.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_iwdg.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c;Middlewares/Third_Party/FreeRTOS/Source/croutine.c;Middlewares/Third_Party/FreeRTOS/Source/event_groups.c;Middlewares/Third_Party/FreeRTOS/Source/list.c;Middlewares/Third_Party/FreeRTOS/Source/queue.c;Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c;Middlewares/Third_Party/FreeRTOS/Source/tasks.c;Middlewares/Third_Party/FreeRTOS/Source/timers.c;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c;Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.c;Core\Src/system_stm32f0xx.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_iwdg.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c;Middlewares/Third_Party/FreeRTOS/Source/croutine.c;Middlewares/Third_Party/FreeRTOS/Source/event_groups.c;Middlewares/Third_Party/FreeRTOS/Source/list.c;Middlewares/Third_Party/FreeRTOS/Source/queue.c;Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c;Middlewares/Third_Party/FreeRTOS/Source/tasks.c;Middlewares/Third_Party/FreeRTOS/Source/timers.c;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c;Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.c;Core\Src/system_stm32f0xx.c;Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c;;Middlewares/Third_Party/FreeRTOS/Source/croutine.c;Middlewares/Third_Party/FreeRTOS/Source/event_groups.c;Middlewares/Third_Party/FreeRTOS/Source/list.c;Middlewares/Third_Party/FreeRTOS/Source/queue.c;Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c;Middlewares/Third_Party/FreeRTOS/Source/tasks.c;Middlewares/Third_Party/FreeRTOS/Source/timers.c;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c;Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.c;
32 HeaderPath=Drivers\STM32F0xx_HAL_Driver\Inc;Drivers\STM32F0xx_HAL_Driver\Inc\Legacy;Middlewares\Third_Party\FreeRTOS\Source\include;Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2;Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM0;Drivers\CMSIS\Device\ST\STM32F0xx\Include;Drivers\CMSIS\Include;Core\Inc; 36 HeaderPath=Drivers\STM32F0xx_HAL_Driver\Inc;Drivers\STM32F0xx_HAL_Driver\Inc\Legacy;Middlewares\Third_Party\FreeRTOS\Source\include;Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2;Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM0;Drivers\CMSIS\Device\ST\STM32F0xx\Include;Drivers\CMSIS\Include;Core\Inc;
33 CDefines=USE_HAL_DRIVER;STM32F030x8;USE_HAL_DRIVER;USE_HAL_DRIVER; 37 CDefines=USE_HAL_DRIVER;STM32F030x8;USE_HAL_DRIVER;USE_HAL_DRIVER;
34 38
......
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <project>
3 <configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.338277118" name="Debug">
4 <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
5 <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
6 <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
7 <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
8 <provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
9 <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1285976871464041894" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
10 <language-scope id="org.eclipse.cdt.core.gcc"/>
11 <language-scope id="org.eclipse.cdt.core.g++"/>
12 </provider>
13 </extension>
14 </configuration>
15 <configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.922454081" name="Release">
16 <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
17 <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
18 <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
19 <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
20 <provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
21 <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1285976871464041894" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
22 <language-scope id="org.eclipse.cdt.core.gcc"/>
23 <language-scope id="org.eclipse.cdt.core.g++"/>
24 </provider>
25 </extension>
26 </configuration>
27 </project>
1 com.st.stm32cube.ide.mcu.ide.oss.source.checker.libnano.problem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Float formatting support\\")"}
2 eclipse.preferences.version=1
3 org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return\\")",implicit\=>false}
4 org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused return value\\")"}
5 org.eclipse.cdt.codan.checkers.nocommentinside.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Nesting comments\\")"}
6 org.eclipse.cdt.codan.checkers.nolinecomment.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Line comments\\")"}
7 org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return value\\")",implicit\=>false}
8 org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Abstract class cannot be instantiated\\")"}
9 org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Ambiguous problem\\")"}
10 org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment in condition\\")"}
11 org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment to itself\\")"}
12 org.eclipse.cdt.codan.internal.checkers.CStyleCastProblem=-Warning
13 org.eclipse.cdt.codan.internal.checkers.CStyleCastProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"C-Style cast instead of C++ cast\\")"}
14 org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No break at end of case\\")",no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false,enable_fallthrough_quickfix_param\=>false}
15 org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Catching by reference is recommended\\")",unknown\=>false,exceptions\=>()}
16 org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Circular inheritance\\")"}
17 org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class members should be properly initialized\\")",skip\=>true}
18 org.eclipse.cdt.codan.internal.checkers.CopyrightProblem=-Warning
19 org.eclipse.cdt.codan.internal.checkers.CopyrightProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Lack of copyright information\\")",regex\=>".*Copyright.*"}
20 org.eclipse.cdt.codan.internal.checkers.DecltypeAutoProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid 'decltype(auto)' specifier\\")"}
21 org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Field cannot be resolved\\")"}
22 org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Function cannot be resolved\\")"}
23 org.eclipse.cdt.codan.internal.checkers.GotoStatementProblem=-Warning
24 org.eclipse.cdt.codan.internal.checkers.GotoStatementProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Goto statement used\\")"}
25 org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid arguments\\")"}
26 org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid template argument\\")"}
27 org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Label statement not found\\")"}
28 org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Member declaration not found\\")"}
29 org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Method cannot be resolved\\")"}
30 org.eclipse.cdt.codan.internal.checkers.MissCaseProblem=-Warning
31 org.eclipse.cdt.codan.internal.checkers.MissCaseProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing cases in switch\\")"}
32 org.eclipse.cdt.codan.internal.checkers.MissDefaultProblem=-Warning
33 org.eclipse.cdt.codan.internal.checkers.MissDefaultProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing default in switch\\")",defaultWithAllEnums\=>false}
34 org.eclipse.cdt.codan.internal.checkers.MissReferenceProblem=-Warning
35 org.eclipse.cdt.codan.internal.checkers.MissReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing reference return value in assignment operator\\")"}
36 org.eclipse.cdt.codan.internal.checkers.MissSelfCheckProblem=-Warning
37 org.eclipse.cdt.codan.internal.checkers.MissSelfCheckProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing self check in assignment operator\\")"}
38 org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Name convention for function\\")",pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
39 org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class has a virtual method and non-virtual destructor\\")"}
40 org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid overload\\")"}
41 org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redeclaration\\")"}
42 org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redefinition\\")"}
43 org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Return with parenthesis\\")"}
44 org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Format String Vulnerability\\")"}
45 org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Statement has no effect\\")",macro\=>true,exceptions\=>()}
46 org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suggested parenthesis around expression\\")",paramNot\=>false}
47 org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suspicious semicolon\\")",else\=>false,afterelse\=>false}
48 org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Type cannot be resolved\\")"}
49 org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused function declaration\\")",macro\=>true}
50 org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused static function\\")",macro\=>true}
51 org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused variable declaration in file scope\\")",macro\=>true,exceptions\=>("@(\#)","$Id")}
52 org.eclipse.cdt.codan.internal.checkers.UsingInHeaderProblem=-Warning
53 org.eclipse.cdt.codan.internal.checkers.UsingInHeaderProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Using directive in header\\")"}
54 org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Symbol is not resolved\\")"}
55 org.eclipse.cdt.codan.internal.checkers.VirtualMethodCallProblem=-Error
56 org.eclipse.cdt.codan.internal.checkers.VirtualMethodCallProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Virtual method call in constructor/destructor\\")"}
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
24 * compile options 24 * compile options
25 */ 25 */
26 #define AT_FCS_VERIFY FALSE 26 #define AT_FCS_VERIFY FALSE
27 #define AT_DEBUG_INF_SHOW FALSE 27 #define AT_DEBUG_INF_SHOW TRUE
28 #define AT_CMD_PATTERN_CHECK TRUE 28 #define AT_CMD_PATTERN_CHECK TRUE
29 #define AT_UART_BACKSPACE FALSE 29 #define AT_UART_BACKSPACE FALSE
30 #define AT_SHOW_STATE_CHANGE FALSE 30 #define AT_SHOW_STATE_CHANGE FALSE
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 /* beep control defines --------------------------------------------------------*/ 15 /* beep control defines --------------------------------------------------------*/
16 #define BEEP_Reset() HAL_GPIO_WritePin(BEEP_GPIO_Port, BEEP_Pin, GPIO_PIN_RESET) 16 #define BEEP_Reset() HAL_GPIO_WritePin(BEEP_GPIO_Port, BEEP_Pin, GPIO_PIN_RESET)
17 #define BEEP_Set() HAL_GPIO_WritePin(BEEP_GPIO_Port, BEEP_Pin, GPIO_PIN_SET) 17 #define BEEP_Set() HAL_GPIO_WritePin(BEEP_GPIO_Port, BEEP_Pin, GPIO_PIN_SET)
18 #define BEEP_Toggle() HAL_GPIO_TogglePin(BEEP_GPIO_Port, BEEP_Pin)
18 19
19 extern void BEEP_call(); 20 extern void BEEP_call();
20 extern void BEEP_close(); 21 extern void BEEP_close();
......
...@@ -13,10 +13,10 @@ ...@@ -13,10 +13,10 @@
13 #include "stm32f0xx_hal_gpio.h" 13 #include "stm32f0xx_hal_gpio.h"
14 14
15 /* key scan defines --------------------------------------------------------*/ 15 /* key scan defines --------------------------------------------------------*/
16 #define KEY1_read() HAL_GPIO_ReadPin(KEY1_GPIO_Port, KEY1_Pin) 16 #define KEY1_read() HAL_GPIO_ReadPin(TOUCH_KEY_GPIO_Port, TOUCH_KEY_Pin)
17 #define KEY2_read() HAL_GPIO_ReadPin(KEY2_GPIO_Port, KEY2_Pin) 17 #define KEY2_read() // HAL_GPIO_ReadPin(KEY2_GPIO_Port, KEY2_Pin)
18 18
19 #define KEY1_UP 1 19 #define KEY1_UP 0
20 #define KEY1_DOWN !KEY1_UP 20 #define KEY1_DOWN !KEY1_UP
21 21
22 #define KEY2_UP 0 22 #define KEY2_UP 0
......
...@@ -17,27 +17,41 @@ ...@@ -17,27 +17,41 @@
17 */ 17 */
18 typedef enum 18 typedef enum
19 { 19 {
20 LED00 = 0U, 20 LED000 = 0U,
21 LED01, 21 LED001,
22 LED10, 22 LED010,
23 LED11 23 LED011,
24 LED100,
25 LED101,
26 LED110,
27 LED111
24 }LED_State; 28 }LED_State;
25 29
26 #define LED_TOTAL_STATE_NUM 4 30 #define LED_TOTAL_STATE_NUM 8
27 31
28 /* LED control defines --------------------------------------------------------*/ 32 /* LED control defines --------------------------------------------------------*/
29 #define LED1_Close() HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET) 33 #define LED1G_Close() HAL_GPIO_WritePin(LED1G_GPIO_Port, LED1G_Pin, GPIO_PIN_RESET)
30 #define LED1_Open() HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET) 34 #define LED1G_Open() HAL_GPIO_WritePin(LED1G_GPIO_Port, LED1G_Pin, GPIO_PIN_SET)
31 35
32 #define LED2_Close() HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET) 36 #define LED1R_Close() HAL_GPIO_WritePin(LED1R_GPIO_Port, LED1R_Pin, GPIO_PIN_RESET)
33 #define LED2_Open() HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET) 37 #define LED1R_Open() HAL_GPIO_WritePin(LED1R_GPIO_Port, LED1R_Pin, GPIO_PIN_SET)
34 38
35 #define LED3_Close() HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_SET) 39 #define LED2G_Close() HAL_GPIO_WritePin(LED2G_GPIO_Port, LED2G_Pin, GPIO_PIN_RESET)
36 #define LED3_Open() HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET) 40 #define LED2G_Open() HAL_GPIO_WritePin(LED2G_GPIO_Port, LED2G_Pin, GPIO_PIN_SET)
41
42 #define LED2R_Close() HAL_GPIO_WritePin(LED2R_GPIO_Port, LED2R_Pin, GPIO_PIN_RESET)
43 #define LED2R_Open() HAL_GPIO_WritePin(LED2R_GPIO_Port, LED2R_Pin, GPIO_PIN_SET)
44
45 #define LED3G_Close() HAL_GPIO_WritePin(LED3G_GPIO_Port, LED3G_Pin, GPIO_PIN_RESET)
46 #define LED3G_Open() HAL_GPIO_WritePin(LED3G_GPIO_Port, LED3G_Pin, GPIO_PIN_SET)
47
48 #define LED3R_Close() HAL_GPIO_WritePin(LED3R_GPIO_Port, LED3R_Pin, GPIO_PIN_RESET)
49 #define LED3R_Open() HAL_GPIO_WritePin(LED3R_GPIO_Port, LED3R_Pin, GPIO_PIN_SET)
37 50
38 extern LED_State ledState; 51 extern LED_State ledState;
39 52
40 /* Exported functions --------------------------------------------------------*/ 53 /* Exported functions --------------------------------------------------------*/
41 extern void LED_StateControl(LED_State ledMode); 54 extern void LED_StateControl(LED_State ledMode);
55 extern void LED_StateControl2(LED_State ledMode);
42 56
43 #endif /* INC_HARDWARE_LED_H_ */ 57 #endif /* INC_HARDWARE_LED_H_ */
......
1 /**
2 ******************************************************************************
3 * File Name : IWDG.h
4 * Description : This file provides code for the configuration
5 * of the IWDG instances.
6 ******************************************************************************
7 * @attention
8 *
9 * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
10 * All rights reserved.</center></h2>
11 *
12 * This software component is licensed by ST under Ultimate Liberty license
13 * SLA0044, the "License"; You may not use this file except in compliance with
14 * the License. You may obtain a copy of the License at:
15 * www.st.com/SLA0044
16 *
17 ******************************************************************************
18 */
19 /* Define to prevent recursive inclusion -------------------------------------*/
20 #ifndef __iwdg_H
21 #define __iwdg_H
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25
26 /* Includes ------------------------------------------------------------------*/
27 #include "main.h"
28
29 /* USER CODE BEGIN Includes */
30
31 /* USER CODE END Includes */
32
33 extern IWDG_HandleTypeDef hiwdg;
34
35 /* USER CODE BEGIN Private defines */
36
37 /* USER CODE END Private defines */
38
39 void MX_IWDG_Init(void);
40
41 /* USER CODE BEGIN Prototypes */
42 void IWDG_Feed(void);
43 /* USER CODE END Prototypes */
44
45 #ifdef __cplusplus
46 }
47 #endif
48 #endif /*__ iwdg_H */
49
50 /**
51 * @}
52 */
53
54 /**
55 * @}
56 */
57
58 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
...@@ -58,25 +58,35 @@ void Error_Handler(void); ...@@ -58,25 +58,35 @@ void Error_Handler(void);
58 /* USER CODE END EFP */ 58 /* USER CODE END EFP */
59 59
60 /* Private defines -----------------------------------------------------------*/ 60 /* Private defines -----------------------------------------------------------*/
61 #define WIFI_EN_Pin GPIO_PIN_1
62 #define WIFI_EN_GPIO_Port GPIOA
63 #define WIFI_RST_Pin GPIO_PIN_4
64 #define WIFI_RST_GPIO_Port GPIOA
65 #define TOUCH_KEY_Pin GPIO_PIN_12
66 #define TOUCH_KEY_GPIO_Port GPIOB
67 #define BEEP_Pin GPIO_PIN_13
68 #define BEEP_GPIO_Port GPIOB
61 #define DEBUG_TX_Pin GPIO_PIN_9 69 #define DEBUG_TX_Pin GPIO_PIN_9
62 #define DEBUG_TX_GPIO_Port GPIOA 70 #define DEBUG_TX_GPIO_Port GPIOA
63 #define DEBUG_RX_Pin GPIO_PIN_10 71 #define DEBUG_RX_Pin GPIO_PIN_10
64 #define DEBUG_RX_GPIO_Port GPIOA 72 #define DEBUG_RX_GPIO_Port GPIOA
65 #define BEEP_Pin GPIO_PIN_12 73 #define LED3R_Pin GPIO_PIN_4
66 #define BEEP_GPIO_Port GPIOA 74 #define LED3R_GPIO_Port GPIOB
67 #define LED3_Pin GPIO_PIN_5 75 #define LED3B_Pin GPIO_PIN_5
68 #define LED3_GPIO_Port GPIOB 76 #define LED3B_GPIO_Port GPIOB
69 #define LED2_Pin GPIO_PIN_6 77 #define LED2R_Pin GPIO_PIN_6
70 #define LED2_GPIO_Port GPIOB 78 #define LED2R_GPIO_Port GPIOB
71 #define LED1_Pin GPIO_PIN_7 79 #define LED2B_Pin GPIO_PIN_7
72 #define LED1_GPIO_Port GPIOB 80 #define LED2B_GPIO_Port GPIOB
73 #define KEY1_Pin GPIO_PIN_8 81 #define LED1R_Pin GPIO_PIN_8
74 #define KEY1_GPIO_Port GPIOB 82 #define LED1R_GPIO_Port GPIOB
75 #define KEY1_EXTI_IRQn EXTI4_15_IRQn 83 #define LED1B_Pin GPIO_PIN_9
76 #define KEY2_Pin GPIO_PIN_9 84 #define LED1B_GPIO_Port GPIOB
77 #define KEY2_GPIO_Port GPIOB
78 /* USER CODE BEGIN Private defines */ 85 /* USER CODE BEGIN Private defines */
86 #define WIFI_Enable() HAL_GPIO_WritePin(WIFI_EN_GPIO_Port, WIFI_EN_Pin, GPIO_PIN_SET)
79 87
88 #define WIFI_RstKey_Set() HAL_GPIO_WritePin(WIFI_RST_GPIO_Port, WIFI_RST_Pin, GPIO_PIN_SET)
89 #define WIFI_RstKey_Reset() HAL_GPIO_WritePin(WIFI_RST_GPIO_Port, WIFI_RST_Pin, GPIO_PIN_RESET)
80 /* USER CODE END Private defines */ 90 /* USER CODE END Private defines */
81 91
82 #ifdef __cplusplus 92 #ifdef __cplusplus
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
42 /*#define HAL_TSC_MODULE_ENABLED */ 42 /*#define HAL_TSC_MODULE_ENABLED */
43 /*#define HAL_DAC_MODULE_ENABLED */ 43 /*#define HAL_DAC_MODULE_ENABLED */
44 /*#define HAL_I2S_MODULE_ENABLED */ 44 /*#define HAL_I2S_MODULE_ENABLED */
45 /*#define HAL_IWDG_MODULE_ENABLED */ 45 #define HAL_IWDG_MODULE_ENABLED
46 /*#define HAL_LCD_MODULE_ENABLED */ 46 /*#define HAL_LCD_MODULE_ENABLED */
47 /*#define HAL_LPTIM_MODULE_ENABLED */ 47 /*#define HAL_LPTIM_MODULE_ENABLED */
48 /*#define HAL_RNG_MODULE_ENABLED */ 48 /*#define HAL_RNG_MODULE_ENABLED */
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
72 * (when HSE is used as system clock source, directly or through the PLL). 72 * (when HSE is used as system clock source, directly or through the PLL).
73 */ 73 */
74 #if !defined (HSE_VALUE) 74 #if !defined (HSE_VALUE)
75 #define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */ 75 #define HSE_VALUE ((uint32_t)16000000) /*!< Value of the External oscillator in Hz */
76 #endif /* HSE_VALUE */ 76 #endif /* HSE_VALUE */
77 77
78 /** 78 /**
......
...@@ -49,7 +49,6 @@ ...@@ -49,7 +49,6 @@
49 /* Exported functions prototypes ---------------------------------------------*/ 49 /* Exported functions prototypes ---------------------------------------------*/
50 void NMI_Handler(void); 50 void NMI_Handler(void);
51 void HardFault_Handler(void); 51 void HardFault_Handler(void);
52 void EXTI4_15_IRQHandler(void);
53 void TIM1_BRK_UP_TRG_COM_IRQHandler(void); 52 void TIM1_BRK_UP_TRG_COM_IRQHandler(void);
54 void TIM3_IRQHandler(void); 53 void TIM3_IRQHandler(void);
55 void TIM6_IRQHandler(void); 54 void TIM6_IRQHandler(void);
......
...@@ -195,7 +195,7 @@ static void AT_HandleCMD( uint8_t *msg_ptr ) ...@@ -195,7 +195,7 @@ static void AT_HandleCMD( uint8_t *msg_ptr )
195 uint8_t cmd_ptr = 0; 195 uint8_t cmd_ptr = 0;
196 uint16_t i; 196 uint16_t i;
197 AT_DEBUG("\r\n", 2); 197 AT_DEBUG("\r\n", 2);
198 AT_DEBUG(msg_ptr, getLength(msg_ptr, 0x02)); 198 AT_DEBUG(msg_ptr, strlen((char*)msg_ptr));
199 199
200 // Get next cmdUnit and upper case it 200 // Get next cmdUnit and upper case it
201 AT_CmdUnit cmdUnit; 201 AT_CmdUnit cmdUnit;
......
...@@ -14,7 +14,9 @@ ...@@ -14,7 +14,9 @@
14 */ 14 */
15 void BEEP_call() 15 void BEEP_call()
16 { 16 {
17 BEEP_Set(); 17 BEEP_Reset();
18 // 使能TIM3\TIM6中断
19 HAL_TIM_Base_Start_IT(&htim3);
18 HAL_TIM_Base_Start_IT(&htim6); 20 HAL_TIM_Base_Start_IT(&htim6);
19 } 21 }
20 22
...@@ -24,4 +26,7 @@ void BEEP_call() ...@@ -24,4 +26,7 @@ void BEEP_call()
24 void BEEP_close() 26 void BEEP_close()
25 { 27 {
26 BEEP_Reset(); 28 BEEP_Reset();
29 HAL_TIM_Base_Stop_IT(&htim3);
30 HAL_Delay(10);
31 HAL_TIM_Base_Stop_IT(&htim6);
27 } 32 }
......
...@@ -14,33 +14,33 @@ ...@@ -14,33 +14,33 @@
14 * 按键处理函数 14 * 按键处理函数
15 * @param mode 0 - 不连续触发 1 - 连续触发 15 * @param mode 0 - 不连续触发 1 - 连续触发
16 */ 16 */
17 uint8_t KEY_Scan(uint8_t mode) 17 //uint8_t KEY_Scan(uint8_t mode)
18 { 18 //{
19 static uint8_t key_up = 1; 19 // static uint8_t key_up = 1;
20 if (mode) 20 // if (mode)
21 { 21 // {
22 key_up = 1; 22 // key_up = 1;
23 } 23 // }
24 if (key_up && (KEY1_read() == KEY1_DOWN || KEY2_read() == KEY2_DOWN)) 24 // if (key_up && (KEY1_read() == KEY1_DOWN || KEY2_read() == KEY2_DOWN))
25 { 25 // {
26 osDelay(10); 26 // osDelay(10);
27 key_up = 0; 27 // key_up = 0;
28 if (KEY1_read() == KEY1_DOWN) 28 // if (KEY1_read() == KEY1_DOWN)
29 { 29 // {
30 return KEY1; 30 // return KEY1;
31 } 31 // }
32 if (KEY2_read() == KEY2_DOWN) 32 // if (KEY2_read() == KEY2_DOWN)
33 { 33 // {
34 return KEY2; 34 // return KEY2;
35 } 35 // }
36 } 36 // }
37 else if (KEY1_read() == KEY1_UP && KEY2_read() == KEY2_UP) 37 // else if (KEY1_read() == KEY1_UP && KEY2_read() == KEY2_UP)
38 { 38 // {
39 key_up = 1; 39 // key_up = 1;
40 } 40 // }
41 41 //
42 return 0; 42 // return 0;
43 } 43 //}
44 44
45 //void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) 45 //void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
46 //{ 46 //{
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
8 /* Includes ------------------------------------------------------------------*/ 8 /* Includes ------------------------------------------------------------------*/
9 #include <Hardware/led.h> 9 #include <Hardware/led.h>
10 10
11 LED_State ledState = LED00; 11 LED_State ledState = LED000;
12 12
13 /** 13 /**
14 * control led by different modes. 14 * control led by different modes.
...@@ -16,26 +16,119 @@ LED_State ledState = LED00; ...@@ -16,26 +16,119 @@ LED_State ledState = LED00;
16 */ 16 */
17 void LED_StateControl(LED_State ledMode) 17 void LED_StateControl(LED_State ledMode)
18 { 18 {
19 LED1R_Close();
20 LED2R_Close();
21 LED3R_Close();
22
23 switch (ledMode)
24 {
25 case LED000:
26 LED1G_Close();
27 LED2G_Close();
28 LED3G_Close();
29 break;
30
31 case LED001:
32 LED1G_Close();
33 LED2G_Close();
34 LED3G_Open();
35 break;
36
37 case LED010:
38 LED1G_Close();
39 LED2G_Open();
40 LED3G_Close();
41 break;
42
43 case LED011:
44 LED1G_Close();
45 LED2G_Open();
46 LED3G_Open();
47 break;
48
49 case LED100:
50 LED1G_Open();
51 LED2G_Close();
52 LED3G_Close();
53 break;
54
55 case LED101:
56 LED1G_Open();
57 LED2G_Close();
58 LED3G_Open();
59 break;
60
61 case LED110:
62 LED1G_Open();
63 LED2G_Open();
64 LED3G_Close();
65 break;
66
67 case LED111:
68 LED1G_Open();
69 LED2G_Open();
70 LED3G_Open();
71 break;
72
73 default:
74 break;
75 }
76 }
77
78 void LED_StateControl2(LED_State ledMode)
79 {
80 LED1G_Close();
81 LED2G_Close();
82 LED3G_Close();
83
19 switch (ledMode) 84 switch (ledMode)
20 { 85 {
21 case LED00: 86 case LED000:
22 LED1_Close(); 87 LED1R_Close();
23 LED2_Close(); 88 LED2R_Close();
89 LED3R_Close();
90 break;
91
92 case LED001:
93 LED1R_Close();
94 LED2R_Close();
95 LED3R_Open();
96 break;
97
98 case LED010:
99 LED1R_Close();
100 LED2R_Open();
101 LED3R_Close();
102 break;
103
104 case LED011:
105 LED1R_Close();
106 LED2R_Open();
107 LED3R_Open();
108 break;
109
110 case LED100:
111 LED1R_Open();
112 LED2R_Close();
113 LED3R_Close();
24 break; 114 break;
25 115
26 case LED01: 116 case LED101:
27 LED1_Close(); 117 LED1R_Open();
28 LED2_Open(); 118 LED2R_Close();
119 LED3R_Open();
29 break; 120 break;
30 121
31 case LED10: 122 case LED110:
32 LED1_Open(); 123 LED1R_Open();
33 LED2_Close(); 124 LED2R_Open();
125 LED3R_Close();
34 break; 126 break;
35 127
36 case LED11: 128 case LED111:
37 LED1_Open(); 129 LED1R_Open();
38 LED2_Open(); 130 LED2R_Open();
131 LED3R_Open();
39 break; 132 break;
40 133
41 default: 134 default:
......
...@@ -25,7 +25,8 @@ ...@@ -25,7 +25,8 @@
25 #include "cmsis_os.h" 25 #include "cmsis_os.h"
26 26
27 /* Private includes ----------------------------------------------------------*/ 27 /* Private includes ----------------------------------------------------------*/
28 /* USER CODE BEGIN Includes */ 28 /* USER CODE BEGIN Includes */
29 #include "iwdg.h"
29 #include "led.h" 30 #include "led.h"
30 #include "beep.h" 31 #include "beep.h"
31 #include "key.h" 32 #include "key.h"
...@@ -50,25 +51,20 @@ ...@@ -50,25 +51,20 @@
50 51
51 /* Private variables ---------------------------------------------------------*/ 52 /* Private variables ---------------------------------------------------------*/
52 /* USER CODE BEGIN Variables */ 53 /* USER CODE BEGIN Variables */
53
54 /* USER CODE END Variables */ 54 /* USER CODE END Variables */
55 osThreadId_t LEDTaskHandle; 55 osThreadId_t LEDTaskHandle;
56 osThreadId_t KeyScanTaskHandle; 56 osThreadId_t KeyScanTaskHandle;
57 osThreadId_t UartTaskHandle; 57 osThreadId_t UartTaskHandle;
58 osThreadId_t CoreTaskHandle;
59 osThreadId_t SensorTaskHandle;
60 osMessageQueueId_t KeyStatusQueueHandle; 58 osMessageQueueId_t KeyStatusQueueHandle;
61 59
62 /* Private function prototypes -----------------------------------------------*/ 60 /* Private function prototypes -----------------------------------------------*/
63 /* USER CODE BEGIN FunctionPrototypes */ 61 /* USER CODE BEGIN FunctionPrototypes */
64 62 void WIFIModule_Init();
65 /* USER CODE END FunctionPrototypes */ 63 /* USER CODE END FunctionPrototypes */
66 64
67 void StartLEDTask(void *argument); 65 void StartLEDTask(void *argument);
68 void StartKeyScanTask(void *argument); 66 void StartKeyScanTask(void *argument);
69 void StartUartTask(void *argument); 67 void StartUartTask(void *argument);
70 void StartCoreTask(void *argument);
71 void StartSensorTask(void *argument);
72 68
73 void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */ 69 void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
74 70
...@@ -110,7 +106,7 @@ osKernelInitialize(); ...@@ -110,7 +106,7 @@ osKernelInitialize();
110 /* definition and creation of LEDTask */ 106 /* definition and creation of LEDTask */
111 const osThreadAttr_t LEDTask_attributes = { 107 const osThreadAttr_t LEDTask_attributes = {
112 .name = "LEDTask", 108 .name = "LEDTask",
113 .priority = (osPriority_t) osPriorityNormal5, 109 .priority = (osPriority_t) osPriorityNormal,
114 .stack_size = 512 110 .stack_size = 512
115 }; 111 };
116 LEDTaskHandle = osThreadNew(StartLEDTask, NULL, &LEDTask_attributes); 112 LEDTaskHandle = osThreadNew(StartLEDTask, NULL, &LEDTask_attributes);
...@@ -118,7 +114,7 @@ osKernelInitialize(); ...@@ -118,7 +114,7 @@ osKernelInitialize();
118 /* definition and creation of KeyScanTask */ 114 /* definition and creation of KeyScanTask */
119 const osThreadAttr_t KeyScanTask_attributes = { 115 const osThreadAttr_t KeyScanTask_attributes = {
120 .name = "KeyScanTask", 116 .name = "KeyScanTask",
121 .priority = (osPriority_t) osPriorityNormal3, 117 .priority = (osPriority_t) osPriorityNormal,
122 .stack_size = 512 118 .stack_size = 512
123 }; 119 };
124 KeyScanTaskHandle = osThreadNew(StartKeyScanTask, NULL, &KeyScanTask_attributes); 120 KeyScanTaskHandle = osThreadNew(StartKeyScanTask, NULL, &KeyScanTask_attributes);
...@@ -126,27 +122,11 @@ osKernelInitialize(); ...@@ -126,27 +122,11 @@ osKernelInitialize();
126 /* definition and creation of UartTask */ 122 /* definition and creation of UartTask */
127 const osThreadAttr_t UartTask_attributes = { 123 const osThreadAttr_t UartTask_attributes = {
128 .name = "UartTask", 124 .name = "UartTask",
129 .priority = (osPriority_t) osPriorityNormal3, 125 .priority = (osPriority_t) osPriorityNormal,
130 .stack_size = 512 126 .stack_size = 512
131 }; 127 };
132 UartTaskHandle = osThreadNew(StartUartTask, NULL, &UartTask_attributes); 128 UartTaskHandle = osThreadNew(StartUartTask, NULL, &UartTask_attributes);
133 129
134 /* definition and creation of CoreTask */
135 const osThreadAttr_t CoreTask_attributes = {
136 .name = "CoreTask",
137 .priority = (osPriority_t) osPriorityNormal3,
138 .stack_size = 512
139 };
140 CoreTaskHandle = osThreadNew(StartCoreTask, NULL, &CoreTask_attributes);
141
142 /* definition and creation of SensorTask */
143 const osThreadAttr_t SensorTask_attributes = {
144 .name = "SensorTask",
145 .priority = (osPriority_t) osPriorityNormal5,
146 .stack_size = 512
147 };
148 SensorTaskHandle = osThreadNew(StartSensorTask, NULL, &SensorTask_attributes);
149
150 /* USER CODE BEGIN RTOS_THREADS */ 130 /* USER CODE BEGIN RTOS_THREADS */
151 /* add threads, ... */ 131 /* add threads, ... */
152 /* USER CODE END RTOS_THREADS */ 132 /* USER CODE END RTOS_THREADS */
...@@ -164,14 +144,25 @@ void StartLEDTask(void *argument) ...@@ -164,14 +144,25 @@ void StartLEDTask(void *argument)
164 { 144 {
165 /* USER CODE BEGIN StartLEDTask */ 145 /* USER CODE BEGIN StartLEDTask */
166 uint8_t keyState; 146 uint8_t keyState;
147 LED_State lStates = LED000;
148 uint8_t beep = 0;
167 /* Infinite loop */ 149 /* Infinite loop */
168 for(;;) 150 for(;;)
169 { 151 {
170 if (osMessageQueueGet(KeyStatusQueueHandle, &keyState, 0, portMAX_DELAY) == osOK) { 152 if (osMessageQueueGet(KeyStatusQueueHandle, &keyState, 0, 50) != osOK)
171 ledState = (keyState - 1) % LED_TOTAL_STATE_NUM; 153 {
172 LED_StateControl(ledState); 154 lStates = (lStates + 1) % LED_TOTAL_STATE_NUM;
155 //mprintf("ledState: %d\r\n", lStates);
156 if (keyState == 1) {
157 LED_StateControl(lStates);
158 }
159 else
160 {
161 LED_StateControl2(lStates);
162 }
163
164 osDelay(500);
173 } 165 }
174 osDelay(10);
175 } 166 }
176 /* USER CODE END StartLEDTask */ 167 /* USER CODE END StartLEDTask */
177 } 168 }
...@@ -197,16 +188,16 @@ void StartKeyScanTask(void *argument) ...@@ -197,16 +188,16 @@ void StartKeyScanTask(void *argument)
197 osDelay(10); 188 osDelay(10);
198 if (KEY1_read() == KEY1_UP) 189 if (KEY1_read() == KEY1_UP)
199 { 190 {
200 LED3_Close();
201 count = 0; 191 count = 0;
202 goto DONE; 192 goto DONE;
203 } 193 }
204 if(count < 500)// 0 ~ 5 000 ms 194 if(count < 500)// 0 ~ 5 000 ms
205 { 195 {
196 IWDG_Feed();
206 flag = KEY_PRESS_0_5S; 197 flag = KEY_PRESS_0_5S;
207 if(count % 10 == 0) 198 if(count % 10 == 0)
208 { 199 {
209 HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin); 200 HAL_GPIO_TogglePin(LED1B_GPIO_Port, LED1B_Pin);
210 } 201 }
211 } 202 }
212 else if((count >= 500) && (count < 1000))// 5 000 ~ 10 000 ms 203 else if((count >= 500) && (count < 1000))// 5 000 ~ 10 000 ms
...@@ -214,7 +205,7 @@ void StartKeyScanTask(void *argument) ...@@ -214,7 +205,7 @@ void StartKeyScanTask(void *argument)
214 flag = KEY_PRESS_5_10S; 205 flag = KEY_PRESS_5_10S;
215 if(count % 30 == 0) 206 if(count % 30 == 0)
216 { 207 {
217 HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin); 208 HAL_GPIO_TogglePin(LED1B_GPIO_Port, LED1B_Pin);
218 } 209 }
219 } 210 }
220 else if((count >= 1000) && (count < 1500))// 10 000 ~ 15 000 ms 211 else if((count >= 1000) && (count < 1500))// 10 000 ~ 15 000 ms
...@@ -222,7 +213,7 @@ void StartKeyScanTask(void *argument) ...@@ -222,7 +213,7 @@ void StartKeyScanTask(void *argument)
222 flag = KEY_PRESS_10_15S; 213 flag = KEY_PRESS_10_15S;
223 if(count % 50 == 0) 214 if(count % 50 == 0)
224 { 215 {
225 HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin); 216 HAL_GPIO_TogglePin(LED1B_GPIO_Port, LED1B_Pin);
226 } 217 }
227 } 218 }
228 else 219 else
...@@ -235,12 +226,12 @@ void StartKeyScanTask(void *argument) ...@@ -235,12 +226,12 @@ void StartKeyScanTask(void *argument)
235 { 226 {
236 if (flag != 0) // key state changed 227 if (flag != 0) // key state changed
237 { 228 {
229 BEEP_call();
238 if (osMessageQueuePut(KeyStatusQueueHandle, &flag, 0, 100) != osOK) 230 if (osMessageQueuePut(KeyStatusQueueHandle, &flag, 0, 100) != osOK)
239 { 231 {
240 mprintf("queue send message failed\r\n"); 232 mprintf("queue send message failed\r\n");
241 } 233 }
242 } 234 }
243 LED3_Close();
244 count = 0; 235 count = 0;
245 flag = 0; 236 flag = 0;
246 } 237 }
...@@ -263,6 +254,8 @@ void StartUartTask(void *argument) ...@@ -263,6 +254,8 @@ void StartUartTask(void *argument)
263 /* USER CODE BEGIN StartUartTask */ 254 /* USER CODE BEGIN StartUartTask */
264 uint8_t temp; 255 uint8_t temp;
265 uint16_t times; 256 uint16_t times;
257
258 WIFIModule_Init();
266 /* Infinite loop */ 259 /* Infinite loop */
267 for(;;) 260 for(;;)
268 { 261 {
...@@ -284,44 +277,17 @@ void StartUartTask(void *argument) ...@@ -284,44 +277,17 @@ void StartUartTask(void *argument)
284 /* USER CODE END StartUartTask */ 277 /* USER CODE END StartUartTask */
285 } 278 }
286 279
287 /* USER CODE BEGIN Header_StartCoreTask */ 280 /* Private application code --------------------------------------------------*/
288 /** 281 /* USER CODE BEGIN Application */
289 * @brief Function implementing the CoreTask thread. 282 void WIFIModule_Init()
290 * @param argument: Not used
291 * @retval None
292 */
293 /* USER CODE END Header_StartCoreTask */
294 void StartCoreTask(void *argument)
295 { 283 {
296 /* USER CODE BEGIN StartCoreTask */ 284 WIFI_Enable();
297 /* Infinite loop */
298 for(;;)
299 {
300 osDelay(1);
301 }
302 /* USER CODE END StartCoreTask */
303 }
304 285
305 /* USER CODE BEGIN Header_StartSensorTask */ 286 // reset wifi module
306 /** 287 WIFI_RstKey_Reset();
307 * @brief Function implementing the SensorTask thread. 288 osDelay(100);
308 * @param argument: Not used 289 WIFI_RstKey_Set();
309 * @retval None
310 */
311 /* USER CODE END Header_StartSensorTask */
312 void StartSensorTask(void *argument)
313 {
314 /* USER CODE BEGIN StartSensorTask */
315 /* Infinite loop */
316 for(;;)
317 {
318 osDelay(1);
319 }
320 /* USER CODE END StartSensorTask */
321 } 290 }
322
323 /* Private application code --------------------------------------------------*/
324 /* USER CODE BEGIN Application */
325 /* USER CODE END Application */ 291 /* USER CODE END Application */
326 292
327 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 293 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
......
...@@ -49,50 +49,33 @@ void MX_GPIO_Init(void) ...@@ -49,50 +49,33 @@ void MX_GPIO_Init(void)
49 __HAL_RCC_GPIOB_CLK_ENABLE(); 49 __HAL_RCC_GPIOB_CLK_ENABLE();
50 50
51 /*Configure GPIO pin Output Level */ 51 /*Configure GPIO pin Output Level */
52 HAL_GPIO_WritePin(BEEP_GPIO_Port, BEEP_Pin, GPIO_PIN_RESET); 52 HAL_GPIO_WritePin(GPIOA, WIFI_EN_Pin|WIFI_RST_Pin, GPIO_PIN_RESET);
53 53
54 /*Configure GPIO pin Output Level */ 54 /*Configure GPIO pin Output Level */
55 HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_SET); 55 HAL_GPIO_WritePin(GPIOB, BEEP_Pin|LED3R_Pin|LED3B_Pin|LED2R_Pin
56 |LED2B_Pin|LED1R_Pin|LED1B_Pin, GPIO_PIN_RESET);
56 57
57 /*Configure GPIO pin Output Level */ 58 /*Configure GPIO pins : PAPin PAPin */
58 HAL_GPIO_WritePin(GPIOB, LED2_Pin|LED1_Pin, GPIO_PIN_RESET); 59 GPIO_InitStruct.Pin = WIFI_EN_Pin|WIFI_RST_Pin;
59
60 /*Configure GPIO pin : PtPin */
61 GPIO_InitStruct.Pin = BEEP_Pin;
62 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
63 GPIO_InitStruct.Pull = GPIO_NOPULL;
64 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
65 HAL_GPIO_Init(BEEP_GPIO_Port, &GPIO_InitStruct);
66
67 /*Configure GPIO pin : PtPin */
68 GPIO_InitStruct.Pin = LED3_Pin;
69 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
70 GPIO_InitStruct.Pull = GPIO_PULLUP;
71 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
72 HAL_GPIO_Init(LED3_GPIO_Port, &GPIO_InitStruct);
73
74 /*Configure GPIO pins : PBPin PBPin */
75 GPIO_InitStruct.Pin = LED2_Pin|LED1_Pin;
76 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 60 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
77 GPIO_InitStruct.Pull = GPIO_PULLDOWN; 61 GPIO_InitStruct.Pull = GPIO_PULLDOWN;
78 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 62 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
79 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 63 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
80
81 /*Configure GPIO pin : PtPin */
82 GPIO_InitStruct.Pin = KEY1_Pin;
83 GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
84 GPIO_InitStruct.Pull = GPIO_PULLUP;
85 HAL_GPIO_Init(KEY1_GPIO_Port, &GPIO_InitStruct);
86 64
87 /*Configure GPIO pin : PtPin */ 65 /*Configure GPIO pin : PtPin */
88 GPIO_InitStruct.Pin = KEY2_Pin; 66 GPIO_InitStruct.Pin = TOUCH_KEY_Pin;
89 GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 67 GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
90 GPIO_InitStruct.Pull = GPIO_PULLDOWN; 68 GPIO_InitStruct.Pull = GPIO_PULLDOWN;
91 HAL_GPIO_Init(KEY2_GPIO_Port, &GPIO_InitStruct); 69 HAL_GPIO_Init(TOUCH_KEY_GPIO_Port, &GPIO_InitStruct);
92 70
93 /* EXTI interrupt init*/ 71 /*Configure GPIO pins : PBPin PBPin PBPin PBPin
94 HAL_NVIC_SetPriority(EXTI4_15_IRQn, 3, 0); 72 PBPin PBPin PBPin */
95 HAL_NVIC_EnableIRQ(EXTI4_15_IRQn); 73 GPIO_InitStruct.Pin = BEEP_Pin|LED3R_Pin|LED3B_Pin|LED2R_Pin
74 |LED2B_Pin|LED1R_Pin|LED1B_Pin;
75 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
76 GPIO_InitStruct.Pull = GPIO_PULLDOWN;
77 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
78 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
96 79
97 } 80 }
98 81
......
1 /**
2 ******************************************************************************
3 * File Name : IWDG.c
4 * Description : This file provides code for the configuration
5 * of the IWDG instances.
6 ******************************************************************************
7 * @attention
8 *
9 * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
10 * All rights reserved.</center></h2>
11 *
12 * This software component is licensed by ST under Ultimate Liberty license
13 * SLA0044, the "License"; You may not use this file except in compliance with
14 * the License. You may obtain a copy of the License at:
15 * www.st.com/SLA0044
16 *
17 ******************************************************************************
18 */
19
20 /* Includes ------------------------------------------------------------------*/
21 #include "iwdg.h"
22
23 /* USER CODE BEGIN 0 */
24
25 /* USER CODE END 0 */
26
27 IWDG_HandleTypeDef hiwdg;
28
29 /* IWDG init function */
30 void MX_IWDG_Init(void)
31 {
32
33 hiwdg.Instance = IWDG;
34 hiwdg.Init.Prescaler = IWDG_PRESCALER_128;
35 hiwdg.Init.Window = 4095;
36 hiwdg.Init.Reload = 4000;
37 if (HAL_IWDG_Init(&hiwdg) != HAL_OK)
38 {
39 Error_Handler();
40 }
41
42 }
43
44 /* USER CODE BEGIN 1 */
45 //喂独立看门狗
46 void IWDG_Feed()
47 {
48 HAL_IWDG_Refresh(&hiwdg); //重装载
49 }
50 /* USER CODE END 1 */
51
52 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
21 /* Includes ------------------------------------------------------------------*/ 21 /* Includes ------------------------------------------------------------------*/
22 #include "main.h" 22 #include "main.h"
23 #include "cmsis_os.h" 23 #include "cmsis_os.h"
24 #include "iwdg.h"
24 #include "tim.h" 25 #include "tim.h"
25 #include "usart.h" 26 #include "usart.h"
26 #include "gpio.h" 27 #include "gpio.h"
...@@ -93,14 +94,32 @@ int main(void) ...@@ -93,14 +94,32 @@ int main(void)
93 MX_GPIO_Init(); 94 MX_GPIO_Init();
94 MX_USART1_UART_Init(); 95 MX_USART1_UART_Init();
95 MX_USART2_UART_Init(); 96 MX_USART2_UART_Init();
97 MX_IWDG_Init();
96 MX_TIM3_Init(); 98 MX_TIM3_Init();
97 MX_TIM6_Init(); 99 MX_TIM6_Init();
98 /* USER CODE BEGIN 2 */ 100 /* USER CODE BEGIN 2 */
99 // 使能TIM3中断
100 HAL_TIM_Base_Start_IT(&htim3);
101 // 使能RingBuf和UART2中断 101 // 使能RingBuf和UART2中断
102 RINGBUF_INIT(USART1_RingBuff, USART1_BUF_LEN); 102 RINGBUF_INIT(USART1_RingBuff, USART1_BUF_LEN);
103 __HAL_UART_ENABLE_IT(&huart2, UART_IT_RXNE); 103 __HAL_UART_ENABLE_IT(&huart2, UART_IT_RXNE);
104
105 uint8_t restFlag = 0;
106 // 看门狗复位标志
107 if (__HAL_RCC_GET_FLAG(RCC_FLAG_IWDGRST) != RESET)
108 {
109 restFlag = 1;
110 }
111 // 软件复位标志
112 else if(__HAL_RCC_GET_FLAG(RCC_FLAG_SFTRST) != RESET)
113 {
114 restFlag = 2;
115 }
116 // 上电复位标志
117 else if(__HAL_RCC_GET_FLAG(RCC_FLAG_PORRST) != RESET)
118 {
119 restFlag = 3;
120 }
121 __HAL_RCC_CLEAR_RESET_FLAGS(); // 清除复位状态标志位
122 mprintf("start flag: %d\r\n", restFlag);
104 /* USER CODE END 2 */ 123 /* USER CODE END 2 */
105 124
106 /* Call init function for freertos objects (in freertos.c) */ 125 /* Call init function for freertos objects (in freertos.c) */
...@@ -134,9 +153,10 @@ void SystemClock_Config(void) ...@@ -134,9 +153,10 @@ void SystemClock_Config(void)
134 153
135 /** Initializes the CPU, AHB and APB busses clocks 154 /** Initializes the CPU, AHB and APB busses clocks
136 */ 155 */
137 RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; 156 RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
138 RCC_OscInitStruct.HSIState = RCC_HSI_ON; 157 RCC_OscInitStruct.HSIState = RCC_HSI_ON;
139 RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; 158 RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
159 RCC_OscInitStruct.LSIState = RCC_LSI_ON;
140 RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; 160 RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
141 RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; 161 RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
142 RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12; 162 RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12;
...@@ -189,13 +209,12 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) ...@@ -189,13 +209,12 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
189 if(htim->Instance == TIM3) 209 if(htim->Instance == TIM3)
190 { 210 {
191 // mprintf("TIM3 elapsed\r\n"); 211 // mprintf("TIM3 elapsed\r\n");
192 BEEP_call(); 212 BEEP_close();
193 } 213 }
194 if(htim->Instance == TIM6) 214 if(htim->Instance == TIM6)
195 { 215 {
196 // mprintf("TIM6 elapsed\r\n"); 216 // mprintf("TIM6 elapsed\r\n");
197 HAL_TIM_Base_Stop_IT(&htim6); 217 BEEP_Toggle();
198 BEEP_close();
199 } 218 }
200 /* USER CODE END Callback 1 */ 219 /* USER CODE END Callback 1 */
201 } 220 }
......
...@@ -107,20 +107,6 @@ void HardFault_Handler(void) ...@@ -107,20 +107,6 @@ void HardFault_Handler(void)
107 /******************************************************************************/ 107 /******************************************************************************/
108 108
109 /** 109 /**
110 * @brief This function handles EXTI line 4 to 15 interrupts.
111 */
112 void EXTI4_15_IRQHandler(void)
113 {
114 /* USER CODE BEGIN EXTI4_15_IRQn 0 */
115
116 /* USER CODE END EXTI4_15_IRQn 0 */
117 HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_8);
118 /* USER CODE BEGIN EXTI4_15_IRQn 1 */
119
120 /* USER CODE END EXTI4_15_IRQn 1 */
121 }
122
123 /**
124 * @brief This function handles TIM1 break, update, trigger and commutation interrupts. 110 * @brief This function handles TIM1 break, update, trigger and commutation interrupts.
125 */ 111 */
126 void TIM1_BRK_UP_TRG_COM_IRQHandler(void) 112 void TIM1_BRK_UP_TRG_COM_IRQHandler(void)
...@@ -170,7 +156,7 @@ void USART2_IRQHandler(void) ...@@ -170,7 +156,7 @@ void USART2_IRQHandler(void)
170 /* USER CODE BEGIN USART2_IRQn 0 */ 156 /* USER CODE BEGIN USART2_IRQn 0 */
171 uint8_t res; 157 uint8_t res;
172 /* USER CODE END USART2_IRQn 0 */ 158 /* USER CODE END USART2_IRQn 0 */
173 // HAL_UART_IRQHandler(&huart2); 159 HAL_UART_IRQHandler(&huart2);
174 /* USER CODE BEGIN USART2_IRQn 1 */ 160 /* USER CODE BEGIN USART2_IRQn 1 */
175 if (__HAL_UART_GET_FLAG(&huart2, UART_FLAG_RXNE) == pdTRUE) 161 if (__HAL_UART_GET_FLAG(&huart2, UART_FLAG_RXNE) == pdTRUE)
176 { 162 {
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
21 #include "tim.h" 21 #include "tim.h"
22 22
23 /* USER CODE BEGIN 0 */ 23 /* USER CODE BEGIN 0 */
24 #include "beep.h" 24
25 /* USER CODE END 0 */ 25 /* USER CODE END 0 */
26 26
27 TIM_HandleTypeDef htim3; 27 TIM_HandleTypeDef htim3;
...@@ -36,7 +36,7 @@ void MX_TIM3_Init(void) ...@@ -36,7 +36,7 @@ void MX_TIM3_Init(void)
36 htim3.Instance = TIM3; 36 htim3.Instance = TIM3;
37 htim3.Init.Prescaler = 23999; 37 htim3.Init.Prescaler = 23999;
38 htim3.Init.CounterMode = TIM_COUNTERMODE_UP; 38 htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
39 htim3.Init.Period = 1999; 39 htim3.Init.Period = 599;
40 htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; 40 htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
41 htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; 41 htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
42 if (HAL_TIM_OC_Init(&htim3) != HAL_OK) 42 if (HAL_TIM_OC_Init(&htim3) != HAL_OK)
...@@ -64,9 +64,9 @@ void MX_TIM6_Init(void) ...@@ -64,9 +64,9 @@ void MX_TIM6_Init(void)
64 { 64 {
65 65
66 htim6.Instance = TIM6; 66 htim6.Instance = TIM6;
67 htim6.Init.Prescaler = 47999; 67 htim6.Init.Prescaler = 29;
68 htim6.Init.CounterMode = TIM_COUNTERMODE_UP; 68 htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
69 htim6.Init.Period = 299; 69 htim6.Init.Period = 199;
70 htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; 70 htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
71 if (HAL_TIM_Base_Init(&htim6) != HAL_OK) 71 if (HAL_TIM_Base_Init(&htim6) != HAL_OK)
72 { 72 {
......
...@@ -55,7 +55,7 @@ void MX_USART2_UART_Init(void) ...@@ -55,7 +55,7 @@ void MX_USART2_UART_Init(void)
55 { 55 {
56 56
57 huart2.Instance = USART2; 57 huart2.Instance = USART2;
58 huart2.Init.BaudRate = 115200; 58 huart2.Init.BaudRate = 9600;
59 huart2.Init.WordLength = UART_WORDLENGTH_8B; 59 huart2.Init.WordLength = UART_WORDLENGTH_8B;
60 huart2.Init.StopBits = UART_STOPBITS_1; 60 huart2.Init.StopBits = UART_STOPBITS_1;
61 huart2.Init.Parity = UART_PARITY_NONE; 61 huart2.Init.Parity = UART_PARITY_NONE;
......
1 /**
2 ******************************************************************************
3 * @file stm32f0xx_hal_iwdg.h
4 * @author MCD Application Team
5 * @brief Header file of IWDG HAL module.
6 ******************************************************************************
7 * @attention
8 *
9 * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
10 * All rights reserved.</center></h2>
11 *
12 * This software component is licensed by ST under BSD 3-Clause license,
13 * the "License"; You may not use this file except in compliance with the
14 * License. You may obtain a copy of the License at:
15 * opensource.org/licenses/BSD-3-Clause
16 *
17 ******************************************************************************
18 */
19
20 /* Define to prevent recursive inclusion -------------------------------------*/
21 #ifndef STM32F0xx_HAL_IWDG_H
22 #define STM32F0xx_HAL_IWDG_H
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27
28 /* Includes ------------------------------------------------------------------*/
29 #include "stm32f0xx_hal_def.h"
30
31 /** @addtogroup STM32F0xx_HAL_Driver
32 * @{
33 */
34
35 /** @defgroup IWDG IWDG
36 * @{
37 */
38
39 /* Exported types ------------------------------------------------------------*/
40 /** @defgroup IWDG_Exported_Types IWDG Exported Types
41 * @{
42 */
43
44 /**
45 * @brief IWDG Init structure definition
46 */
47 typedef struct
48 {
49 uint32_t Prescaler; /*!< Select the prescaler of the IWDG.
50 This parameter can be a value of @ref IWDG_Prescaler */
51
52 uint32_t Reload; /*!< Specifies the IWDG down-counter reload value.
53 This parameter must be a number between Min_Data = 0 and Max_Data = 0x0FFF */
54
55 uint32_t Window; /*!< Specifies the window value to be compared to the down-counter.
56 This parameter must be a number between Min_Data = 0 and Max_Data = 0x0FFF */
57
58 } IWDG_InitTypeDef;
59
60 /**
61 * @brief IWDG Handle Structure definition
62 */
63 typedef struct
64 {
65 IWDG_TypeDef *Instance; /*!< Register base address */
66
67 IWDG_InitTypeDef Init; /*!< IWDG required parameters */
68 } IWDG_HandleTypeDef;
69
70
71 /**
72 * @}
73 */
74
75 /* Exported constants --------------------------------------------------------*/
76 /** @defgroup IWDG_Exported_Constants IWDG Exported Constants
77 * @{
78 */
79
80 /** @defgroup IWDG_Prescaler IWDG Prescaler
81 * @{
82 */
83 #define IWDG_PRESCALER_4 0x00000000u /*!< IWDG prescaler set to 4 */
84 #define IWDG_PRESCALER_8 IWDG_PR_PR_0 /*!< IWDG prescaler set to 8 */
85 #define IWDG_PRESCALER_16 IWDG_PR_PR_1 /*!< IWDG prescaler set to 16 */
86 #define IWDG_PRESCALER_32 (IWDG_PR_PR_1 | IWDG_PR_PR_0) /*!< IWDG prescaler set to 32 */
87 #define IWDG_PRESCALER_64 IWDG_PR_PR_2 /*!< IWDG prescaler set to 64 */
88 #define IWDG_PRESCALER_128 (IWDG_PR_PR_2 | IWDG_PR_PR_0) /*!< IWDG prescaler set to 128 */
89 #define IWDG_PRESCALER_256 (IWDG_PR_PR_2 | IWDG_PR_PR_1) /*!< IWDG prescaler set to 256 */
90
91 /**
92 * @}
93 */
94
95 /** @defgroup IWDG_Window_option IWDG Window option
96 * @{
97 */
98 #define IWDG_WINDOW_DISABLE IWDG_WINR_WIN
99 /**
100 * @}
101 */
102
103
104 /**
105 * @}
106 */
107
108 /* Exported macros -----------------------------------------------------------*/
109 /** @defgroup IWDG_Exported_Macros IWDG Exported Macros
110 * @{
111 */
112
113 /**
114 * @brief Enable the IWDG peripheral.
115 * @param __HANDLE__ IWDG handle
116 * @retval None
117 */
118 #define __HAL_IWDG_START(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_ENABLE)
119
120 /**
121 * @brief Reload IWDG counter with value defined in the reload register
122 * (write access to IWDG_PR, IWDG_RLR and IWDG_WINR registers disabled).
123 * @param __HANDLE__ IWDG handle
124 * @retval None
125 */
126 #define __HAL_IWDG_RELOAD_COUNTER(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_RELOAD)
127
128 /**
129 * @}
130 */
131
132 /* Exported functions --------------------------------------------------------*/
133 /** @defgroup IWDG_Exported_Functions IWDG Exported Functions
134 * @{
135 */
136
137 /** @defgroup IWDG_Exported_Functions_Group1 Initialization and Start functions
138 * @{
139 */
140 /* Initialization/Start functions ********************************************/
141 HAL_StatusTypeDef HAL_IWDG_Init(IWDG_HandleTypeDef *hiwdg);
142 /**
143 * @}
144 */
145
146 /** @defgroup IWDG_Exported_Functions_Group2 IO operation functions
147 * @{
148 */
149 /* I/O operation functions ****************************************************/
150 HAL_StatusTypeDef HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg);
151 /**
152 * @}
153 */
154
155 /**
156 * @}
157 */
158
159 /* Private constants ---------------------------------------------------------*/
160 /** @defgroup IWDG_Private_Constants IWDG Private Constants
161 * @{
162 */
163
164 /**
165 * @brief IWDG Key Register BitMask
166 */
167 #define IWDG_KEY_RELOAD 0x0000AAAAu /*!< IWDG Reload Counter Enable */
168 #define IWDG_KEY_ENABLE 0x0000CCCCu /*!< IWDG Peripheral Enable */
169 #define IWDG_KEY_WRITE_ACCESS_ENABLE 0x00005555u /*!< IWDG KR Write Access Enable */
170 #define IWDG_KEY_WRITE_ACCESS_DISABLE 0x00000000u /*!< IWDG KR Write Access Disable */
171
172 /**
173 * @}
174 */
175
176 /* Private macros ------------------------------------------------------------*/
177 /** @defgroup IWDG_Private_Macros IWDG Private Macros
178 * @{
179 */
180
181 /**
182 * @brief Enable write access to IWDG_PR, IWDG_RLR and IWDG_WINR registers.
183 * @param __HANDLE__ IWDG handle
184 * @retval None
185 */
186 #define IWDG_ENABLE_WRITE_ACCESS(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_WRITE_ACCESS_ENABLE)
187
188 /**
189 * @brief Disable write access to IWDG_PR, IWDG_RLR and IWDG_WINR registers.
190 * @param __HANDLE__ IWDG handle
191 * @retval None
192 */
193 #define IWDG_DISABLE_WRITE_ACCESS(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_WRITE_ACCESS_DISABLE)
194
195 /**
196 * @brief Check IWDG prescaler value.
197 * @param __PRESCALER__ IWDG prescaler value
198 * @retval None
199 */
200 #define IS_IWDG_PRESCALER(__PRESCALER__) (((__PRESCALER__) == IWDG_PRESCALER_4) || \
201 ((__PRESCALER__) == IWDG_PRESCALER_8) || \
202 ((__PRESCALER__) == IWDG_PRESCALER_16) || \
203 ((__PRESCALER__) == IWDG_PRESCALER_32) || \
204 ((__PRESCALER__) == IWDG_PRESCALER_64) || \
205 ((__PRESCALER__) == IWDG_PRESCALER_128)|| \
206 ((__PRESCALER__) == IWDG_PRESCALER_256))
207
208 /**
209 * @brief Check IWDG reload value.
210 * @param __RELOAD__ IWDG reload value
211 * @retval None
212 */
213 #define IS_IWDG_RELOAD(__RELOAD__) ((__RELOAD__) <= IWDG_RLR_RL)
214
215 /**
216 * @brief Check IWDG window value.
217 * @param __WINDOW__ IWDG window value
218 * @retval None
219 */
220 #define IS_IWDG_WINDOW(__WINDOW__) ((__WINDOW__) <= IWDG_WINR_WIN)
221
222
223 /**
224 * @}
225 */
226
227 /**
228 * @}
229 */
230
231 /**
232 * @}
233 */
234
235
236 #ifdef __cplusplus
237 }
238 #endif
239
240 #endif /* STM32F0xx_HAL_IWDG_H */
241
242 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
1 /**
2 ******************************************************************************
3 * @file stm32f0xx_hal_iwdg.c
4 * @author MCD Application Team
5 * @brief IWDG HAL module driver.
6 * This file provides firmware functions to manage the following
7 * functionalities of the Independent Watchdog (IWDG) peripheral:
8 * + Initialization and Start functions
9 * + IO operation functions
10 *
11 @verbatim
12 ==============================================================================
13 ##### IWDG Generic features #####
14 ==============================================================================
15 [..]
16 (+) The IWDG can be started by either software or hardware (configurable
17 through option byte).
18
19 (+) The IWDG is clocked by Low-Speed clock (LSI) and thus stays active even
20 if the main clock fails.
21
22 (+) Once the IWDG is started, the LSI is forced ON and both can not be
23 disabled. The counter starts counting down from the reset value (0xFFF).
24 When it reaches the end of count value (0x000) a reset signal is
25 generated (IWDG reset).
26
27 (+) Whenever the key value 0x0000 AAAA is written in the IWDG_KR register,
28 the IWDG_RLR value is reloaded in the counter and the watchdog reset is
29 prevented.
30
31 (+) The IWDG is implemented in the VDD voltage domain that is still functional
32 in STOP and STANDBY mode (IWDG reset can wake-up from STANDBY).
33 IWDGRST flag in RCC_CSR register can be used to inform when an IWDG
34 reset occurs.
35
36 (+) Debug mode : When the microcontroller enters debug mode (core halted),
37 the IWDG counter either continues to work normally or stops, depending
38 on DBG_IWDG_STOP configuration bit in DBG module, accessible through
39 __HAL_DBGMCU_FREEZE_IWDG() and __HAL_DBGMCU_UNFREEZE_IWDG() macros.
40
41 [..] Min-max timeout value @32KHz (LSI): ~125us / ~32.7s
42 The IWDG timeout may vary due to LSI frequency dispersion. STM32F0xx
43 devices provide the capability to measure the LSI frequency (LSI clock
44 connected internally to TIM16 CH1 input capture). The measured value
45 can be used to have an IWDG timeout with an acceptable accuracy.
46
47 ##### How to use this driver #####
48 ==============================================================================
49 [..]
50 (#) Use IWDG using HAL_IWDG_Init() function to :
51 (++) Enable instance by writing Start keyword in IWDG_KEY register. LSI
52 clock is forced ON and IWDG counter starts counting down.
53 (++) Enable write access to configuration registers:
54 IWDG_PR, IWDG_RLR and IWDG_WINR.
55 (++) Configure the IWDG prescaler and counter reload value. This reload
56 value will be loaded in the IWDG counter each time the watchdog is
57 reloaded, then the IWDG will start counting down from this value.
58 (++) Wait for status flags to be reset.
59 (++) Depending on window parameter:
60 (+++) If Window Init parameter is same as Window register value,
61 nothing more is done but reload counter value in order to exit
62 function with exact time base.
63 (+++) Else modify Window register. This will automatically reload
64 watchdog counter.
65
66 (#) Then the application program must refresh the IWDG counter at regular
67 intervals during normal operation to prevent an MCU reset, using
68 HAL_IWDG_Refresh() function.
69
70 *** IWDG HAL driver macros list ***
71 ====================================
72 [..]
73 Below the list of most used macros in IWDG HAL driver:
74 (+) __HAL_IWDG_START: Enable the IWDG peripheral
75 (+) __HAL_IWDG_RELOAD_COUNTER: Reloads IWDG counter with value defined in
76 the reload register
77
78 @endverbatim
79 ******************************************************************************
80 * @attention
81 *
82 * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
83 * All rights reserved.</center></h2>
84 *
85 * This software component is licensed by ST under BSD 3-Clause license,
86 * the "License"; You may not use this file except in compliance with the
87 * License. You may obtain a copy of the License at:
88 * opensource.org/licenses/BSD-3-Clause
89 *
90 ******************************************************************************
91 */
92
93 /* Includes ------------------------------------------------------------------*/
94 #include "stm32f0xx_hal.h"
95
96 /** @addtogroup STM32F0xx_HAL_Driver
97 * @{
98 */
99
100 #ifdef HAL_IWDG_MODULE_ENABLED
101 /** @addtogroup IWDG
102 * @brief IWDG HAL module driver.
103 * @{
104 */
105
106 /* Private typedef -----------------------------------------------------------*/
107 /* Private define ------------------------------------------------------------*/
108 /** @defgroup IWDG_Private_Defines IWDG Private Defines
109 * @{
110 */
111 /* Status register need 5 RC LSI divided by prescaler clock to be updated. With
112 higher prescaler (256), and according to LSI variation, we need to wait at
113 least 6 cycles so 48 ms. */
114 #define HAL_IWDG_DEFAULT_TIMEOUT 48u
115 /**
116 * @}
117 */
118
119 /* Private macro -------------------------------------------------------------*/
120 /* Private variables ---------------------------------------------------------*/
121 /* Private function prototypes -----------------------------------------------*/
122 /* Exported functions --------------------------------------------------------*/
123
124 /** @addtogroup IWDG_Exported_Functions
125 * @{
126 */
127
128 /** @addtogroup IWDG_Exported_Functions_Group1
129 * @brief Initialization and Start functions.
130 *
131 @verbatim
132 ===============================================================================
133 ##### Initialization and Start functions #####
134 ===============================================================================
135 [..] This section provides functions allowing to:
136 (+) Initialize the IWDG according to the specified parameters in the
137 IWDG_InitTypeDef of associated handle.
138 (+) Manage Window option.
139 (+) Once initialization is performed in HAL_IWDG_Init function, Watchdog
140 is reloaded in order to exit function with correct time base.
141
142 @endverbatim
143 * @{
144 */
145
146 /**
147 * @brief Initialize the IWDG according to the specified parameters in the
148 * IWDG_InitTypeDef and start watchdog. Before exiting function,
149 * watchdog is refreshed in order to have correct time base.
150 * @param hiwdg pointer to a IWDG_HandleTypeDef structure that contains
151 * the configuration information for the specified IWDG module.
152 * @retval HAL status
153 */
154 HAL_StatusTypeDef HAL_IWDG_Init(IWDG_HandleTypeDef *hiwdg)
155 {
156 uint32_t tickstart;
157
158 /* Check the IWDG handle allocation */
159 if (hiwdg == NULL)
160 {
161 return HAL_ERROR;
162 }
163
164 /* Check the parameters */
165 assert_param(IS_IWDG_ALL_INSTANCE(hiwdg->Instance));
166 assert_param(IS_IWDG_PRESCALER(hiwdg->Init.Prescaler));
167 assert_param(IS_IWDG_RELOAD(hiwdg->Init.Reload));
168 assert_param(IS_IWDG_WINDOW(hiwdg->Init.Window));
169
170 /* Enable IWDG. LSI is turned on automatically */
171 __HAL_IWDG_START(hiwdg);
172
173 /* Enable write access to IWDG_PR, IWDG_RLR and IWDG_WINR registers by writing
174 0x5555 in KR */
175 IWDG_ENABLE_WRITE_ACCESS(hiwdg);
176
177 /* Write to IWDG registers the Prescaler & Reload values to work with */
178 hiwdg->Instance->PR = hiwdg->Init.Prescaler;
179 hiwdg->Instance->RLR = hiwdg->Init.Reload;
180
181 /* Check pending flag, if previous update not done, return timeout */
182 tickstart = HAL_GetTick();
183
184 /* Wait for register to be updated */
185 while (hiwdg->Instance->SR != 0x00u)
186 {
187 if ((HAL_GetTick() - tickstart) > HAL_IWDG_DEFAULT_TIMEOUT)
188 {
189 return HAL_TIMEOUT;
190 }
191 }
192
193 /* If window parameter is different than current value, modify window
194 register */
195 if (hiwdg->Instance->WINR != hiwdg->Init.Window)
196 {
197 /* Write to IWDG WINR the IWDG_Window value to compare with. In any case,
198 even if window feature is disabled, Watchdog will be reloaded by writing
199 windows register */
200 hiwdg->Instance->WINR = hiwdg->Init.Window;
201 }
202 else
203 {
204 /* Reload IWDG counter with value defined in the reload register */
205 __HAL_IWDG_RELOAD_COUNTER(hiwdg);
206 }
207
208 /* Return function status */
209 return HAL_OK;
210 }
211
212 /**
213 * @}
214 */
215
216
217 /** @addtogroup IWDG_Exported_Functions_Group2
218 * @brief IO operation functions
219 *
220 @verbatim
221 ===============================================================================
222 ##### IO operation functions #####
223 ===============================================================================
224 [..] This section provides functions allowing to:
225 (+) Refresh the IWDG.
226
227 @endverbatim
228 * @{
229 */
230
231
232 /**
233 * @brief Refresh the IWDG.
234 * @param hiwdg pointer to a IWDG_HandleTypeDef structure that contains
235 * the configuration information for the specified IWDG module.
236 * @retval HAL status
237 */
238 HAL_StatusTypeDef HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg)
239 {
240 /* Reload IWDG counter with value defined in the reload register */
241 __HAL_IWDG_RELOAD_COUNTER(hiwdg);
242
243 /* Return function status */
244 return HAL_OK;
245 }
246
247 /**
248 * @}
249 */
250
251 /**
252 * @}
253 */
254
255 #endif /* HAL_IWDG_MODULE_ENABLED */
256 /**
257 * @}
258 */
259
260 /**
261 * @}
262 */
263
264 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <launchConfiguration type="com.st.stm32cube.ide.mcu.debug.launch.launchConfigurationType">
3 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.jlink.device" value="STM32F030C8"/>
4 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.jlink.endian" value="little"/>
5 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.jlink.init_speed" value="4000"/>
6 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.jlink.jlink_check_serial_number" value="false"/>
7 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.jlink.jlink_script_path" value=""/>
8 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.jlink.jlink_script_used" value="false"/>
9 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.jlink.jlink_txt_serial_number" value=""/>
10 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.jlink.reset_strategy" value="type_0_normal"/>
11 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.jlink.scan_chain_auto" value="true"/>
12 <intAttribute key="com.st.stm32cube.ide.mcu.debug.jlink.scan_chain_irpre" value="0"/>
13 <intAttribute key="com.st.stm32cube.ide.mcu.debug.jlink.scan_chain_pos" value="0"/>
14 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.jlink.selected_rtos" value="No RTOS"/>
15 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.access_port_id" value="0"/>
16 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.enable_live_expr" value="true"/>
17 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.enable_swv" value="false"/>
18 <intAttribute key="com.st.stm32cube.ide.mcu.debug.launch.formatVersion" value="2"/>
19 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.ip_address_local" value="localhost"/>
20 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.loadList" value="{&quot;fItems&quot;:[{&quot;fIsFromMainTab&quot;:true,&quot;fPath&quot;:&quot;Debug\\STM32Test.elf&quot;,&quot;fProjectName&quot;:&quot;STM32Test&quot;,&quot;fPerformBuild&quot;:true,&quot;fDownload&quot;:true,&quot;fLoadSymbols&quot;:true}]}"/>
21 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.remoteCommand" value="target extended-remote"/>
22 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startServer" value="true"/>
23 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startuptab.exception.divby0" value="true"/>
24 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startuptab.exception.unaligned" value="false"/>
25 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startuptab.haltonexception" value="true"/>
26 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swd_mode" value="true"/>
27 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swv_port" value="2332"/>
28 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swv_trace_div" value="0"/>
29 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swv_trace_hclk" value="8000000"/>
30 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.useRemoteTarget" value="true"/>
31 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.verify_flash_download" value="true"/>
32 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.cti_allow_halt" value="false"/>
33 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.cti_signal_halt" value="false"/>
34 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_external_loader" value="false"/>
35 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_logging" value="false"/>
36 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_shared_stlink" value="false"/>
37 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.external_loader" value=""/>
38 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.halt_all_on_reset" value="false"/>
39 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.log_file" value="F:\IoT\STM32\workspace\STM32Test\Debug\st-link_gdbserver_log.txt"/>
40 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.reset_strategy" value="system_reset"/>
41 <booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.stlink_check_serial_number" value="false"/>
42 <stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.stlink_txt_serial_number" value=""/>
43 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="false"/>
44 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="false"/>
45 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value=""/>
46 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
47 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="SEGGER J-LINK"/>
48 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
49 <intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="2331"/>
50 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
51 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
52 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
53 <booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
54 <stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
55 <stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="${TOOLCHAIN_PATH}/arm-none-eabi-gdb"/>
56 <booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
57 <booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
58 <intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
59 <stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
60 <stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="remote"/>
61 <booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="true"/>
62 <stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="main"/>
63 <stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="Debug\STM32Test.elf"/>
64 <stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="STM32Test"/>
65 <booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
66 <stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.338277118"/>
67 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
68 <listEntry value="/STM32Test"/>
69 </listAttribute>
70 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
71 <listEntry value="4"/>
72 </listAttribute>
73 <stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList context=&quot;reserved-for-future-use&quot;/&gt;&#13;&#10;"/>
74 <stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
75 </launchConfiguration>
...@@ -2,50 +2,57 @@ ...@@ -2,50 +2,57 @@
2 FREERTOS.FootprintOK=false 2 FREERTOS.FootprintOK=false
3 FREERTOS.IPParameters=Tasks01,configTOTAL_HEAP_SIZE,configTIMER_TASK_STACK_DEPTH,FootprintOK,Queues01 3 FREERTOS.IPParameters=Tasks01,configTOTAL_HEAP_SIZE,configTIMER_TASK_STACK_DEPTH,FootprintOK,Queues01
4 FREERTOS.Queues01=KeyStatusQueue,4,uint8_t,0,Dynamic,NULL,NULL 4 FREERTOS.Queues01=KeyStatusQueue,4,uint8_t,0,Dynamic,NULL,NULL
5 FREERTOS.Tasks01=LEDTask,29,512,StartLEDTask,Default,NULL,Dynamic,NULL,NULL;KeyScanTask,27,512,StartKeyScanTask,Default,NULL,Dynamic,NULL,NULL;UartTask,27,512,StartUartTask,Default,NULL,Dynamic,NULL,NULL;CoreTask,27,512,StartCoreTask,Default,NULL,Dynamic,NULL,NULL;SensorTask,29,512,StartSensorTask,Default,NULL,Dynamic,NULL,NULL 5 FREERTOS.Tasks01=LEDTask,24,512,StartLEDTask,Default,NULL,Dynamic,NULL,NULL;KeyScanTask,24,512,StartKeyScanTask,Default,NULL,Dynamic,NULL,NULL;UartTask,24,512,StartUartTask,Default,NULL,Dynamic,NULL,NULL
6 FREERTOS.configTIMER_TASK_STACK_DEPTH=128 6 FREERTOS.configTIMER_TASK_STACK_DEPTH=128
7 FREERTOS.configTOTAL_HEAP_SIZE=2560 7 FREERTOS.configTOTAL_HEAP_SIZE=2560
8 File.Version=6 8 File.Version=6
9 IWDG.IPParameters=Reload
10 IWDG.Reload=500
9 KeepUserPlacement=false 11 KeepUserPlacement=false
10 Mcu.Family=STM32F0 12 Mcu.Family=STM32F0
11 Mcu.IP0=FREERTOS 13 Mcu.IP0=FREERTOS
12 Mcu.IP1=NVIC 14 Mcu.IP1=IWDG
13 Mcu.IP2=RCC 15 Mcu.IP2=NVIC
14 Mcu.IP3=SYS 16 Mcu.IP3=RCC
15 Mcu.IP4=TIM3 17 Mcu.IP4=SYS
16 Mcu.IP5=TIM6 18 Mcu.IP5=TIM3
17 Mcu.IP6=USART1 19 Mcu.IP6=TIM6
18 Mcu.IP7=USART2 20 Mcu.IP7=USART1
19 Mcu.IPNb=8 21 Mcu.IP8=USART2
22 Mcu.IPNb=9
20 Mcu.Name=STM32F030C8Tx 23 Mcu.Name=STM32F030C8Tx
21 Mcu.Package=LQFP48 24 Mcu.Package=LQFP48
22 Mcu.Pin0=PC14-OSC32_IN 25 Mcu.Pin0=PC14-OSC32_IN
23 Mcu.Pin1=PC15-OSC32_OUT 26 Mcu.Pin1=PC15-OSC32_OUT
24 Mcu.Pin10=PA14 27 Mcu.Pin10=PA9
25 Mcu.Pin11=PB5 28 Mcu.Pin11=PA10
26 Mcu.Pin12=PB6 29 Mcu.Pin12=PA13
27 Mcu.Pin13=PB7 30 Mcu.Pin13=PA14
28 Mcu.Pin14=PB8 31 Mcu.Pin14=PB4
29 Mcu.Pin15=PB9 32 Mcu.Pin15=PB5
30 Mcu.Pin16=VP_FREERTOS_VS_CMSIS_V2 33 Mcu.Pin16=PB6
31 Mcu.Pin17=VP_SYS_VS_tim1 34 Mcu.Pin17=PB7
32 Mcu.Pin18=VP_TIM3_VS_no_output1 35 Mcu.Pin18=PB8
33 Mcu.Pin19=VP_TIM6_VS_ClockSourceINT 36 Mcu.Pin19=PB9
34 Mcu.Pin2=PF0-OSC_IN 37 Mcu.Pin2=PF0-OSC_IN
38 Mcu.Pin20=VP_FREERTOS_VS_CMSIS_V2
39 Mcu.Pin21=VP_IWDG_VS_IWDG
40 Mcu.Pin22=VP_SYS_VS_tim1
41 Mcu.Pin23=VP_TIM3_VS_no_output1
42 Mcu.Pin24=VP_TIM6_VS_ClockSourceINT
35 Mcu.Pin3=PF1-OSC_OUT 43 Mcu.Pin3=PF1-OSC_OUT
36 Mcu.Pin4=PA2 44 Mcu.Pin4=PA1
37 Mcu.Pin5=PA3 45 Mcu.Pin5=PA2
38 Mcu.Pin6=PA9 46 Mcu.Pin6=PA3
39 Mcu.Pin7=PA10 47 Mcu.Pin7=PA4
40 Mcu.Pin8=PA12 48 Mcu.Pin8=PB12
41 Mcu.Pin9=PA13 49 Mcu.Pin9=PB13
42 Mcu.PinsNb=20 50 Mcu.PinsNb=25
43 Mcu.ThirdPartyNb=0 51 Mcu.ThirdPartyNb=0
44 Mcu.UserConstants= 52 Mcu.UserConstants=
45 Mcu.UserName=STM32F030C8Tx 53 Mcu.UserName=STM32F030C8Tx
46 MxCube.Version=5.4.0 54 MxCube.Version=5.4.0
47 MxDb.Version=DB.5.0.40 55 MxDb.Version=DB.5.0.40
48 NVIC.EXTI4_15_IRQn=true\:3\:0\:false\:false\:true\:true\:true\:true
49 NVIC.ForceEnableDMAVector=true 56 NVIC.ForceEnableDMAVector=true
50 NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false 57 NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
51 NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false 58 NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
...@@ -58,16 +65,18 @@ NVIC.TIM6_IRQn=true\:3\:0\:false\:false\:true\:true\:true\:true ...@@ -58,16 +65,18 @@ NVIC.TIM6_IRQn=true\:3\:0\:false\:false\:true\:true\:true\:true
58 NVIC.TimeBase=TIM1_BRK_UP_TRG_COM_IRQn 65 NVIC.TimeBase=TIM1_BRK_UP_TRG_COM_IRQn
59 NVIC.TimeBaseIP=TIM1 66 NVIC.TimeBaseIP=TIM1
60 NVIC.USART2_IRQn=true\:3\:0\:false\:false\:true\:true\:true\:true 67 NVIC.USART2_IRQn=true\:3\:0\:false\:false\:true\:true\:true\:true
68 PA1.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label
69 PA1.GPIO_Label=WIFI_EN
70 PA1.GPIO_PuPd=GPIO_PULLDOWN
71 PA1.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
72 PA1.Locked=true
73 PA1.Signal=GPIO_Output
61 PA10.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label 74 PA10.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label
62 PA10.GPIO_Label=DEBUG_RX 75 PA10.GPIO_Label=DEBUG_RX
63 PA10.GPIO_PuPd=GPIO_PULLUP 76 PA10.GPIO_PuPd=GPIO_PULLUP
64 PA10.GPIO_Speed=GPIO_SPEED_FREQ_MEDIUM 77 PA10.GPIO_Speed=GPIO_SPEED_FREQ_MEDIUM
65 PA10.Mode=Asynchronous 78 PA10.Mode=Asynchronous
66 PA10.Signal=USART1_RX 79 PA10.Signal=USART1_RX
67 PA12.GPIOParameters=GPIO_Label
68 PA12.GPIO_Label=BEEP
69 PA12.Locked=true
70 PA12.Signal=GPIO_Output
71 PA13.Mode=Serial_Wire 80 PA13.Mode=Serial_Wire
72 PA13.Signal=SYS_SWDIO 81 PA13.Signal=SYS_SWDIO
73 PA14.Mode=Serial_Wire 82 PA14.Mode=Serial_Wire
...@@ -76,43 +85,65 @@ PA2.Mode=Asynchronous ...@@ -76,43 +85,65 @@ PA2.Mode=Asynchronous
76 PA2.Signal=USART2_TX 85 PA2.Signal=USART2_TX
77 PA3.Mode=Asynchronous 86 PA3.Mode=Asynchronous
78 PA3.Signal=USART2_RX 87 PA3.Signal=USART2_RX
88 PA4.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label
89 PA4.GPIO_Label=WIFI_RST
90 PA4.GPIO_PuPd=GPIO_PULLDOWN
91 PA4.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
92 PA4.Locked=true
93 PA4.Signal=GPIO_Output
79 PA9.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label 94 PA9.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label
80 PA9.GPIO_Label=DEBUG_TX 95 PA9.GPIO_Label=DEBUG_TX
81 PA9.GPIO_PuPd=GPIO_PULLUP 96 PA9.GPIO_PuPd=GPIO_PULLUP
82 PA9.GPIO_Speed=GPIO_SPEED_FREQ_MEDIUM 97 PA9.GPIO_Speed=GPIO_SPEED_FREQ_MEDIUM
83 PA9.Mode=Asynchronous 98 PA9.Mode=Asynchronous
84 PA9.Signal=USART1_TX 99 PA9.Signal=USART1_TX
85 PB5.GPIOParameters=GPIO_Speed,PinState,GPIO_PuPd,GPIO_Label 100 PB12.GPIOParameters=GPIO_PuPd,GPIO_Label
86 PB5.GPIO_Label=LED3 101 PB12.GPIO_Label=TOUCH_KEY
87 PB5.GPIO_PuPd=GPIO_PULLUP 102 PB12.GPIO_PuPd=GPIO_PULLDOWN
103 PB12.Locked=true
104 PB12.Signal=GPIO_Input
105 PB13.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label
106 PB13.GPIO_Label=BEEP
107 PB13.GPIO_PuPd=GPIO_PULLDOWN
108 PB13.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
109 PB13.Locked=true
110 PB13.Signal=GPIO_Output
111 PB4.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label
112 PB4.GPIO_Label=LED3R
113 PB4.GPIO_PuPd=GPIO_PULLDOWN
114 PB4.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
115 PB4.Locked=true
116 PB4.Signal=GPIO_Output
117 PB5.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label
118 PB5.GPIO_Label=LED3G
119 PB5.GPIO_PuPd=GPIO_PULLDOWN
88 PB5.GPIO_Speed=GPIO_SPEED_FREQ_HIGH 120 PB5.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
89 PB5.Locked=true 121 PB5.Locked=true
90 PB5.PinState=GPIO_PIN_SET
91 PB5.Signal=GPIO_Output 122 PB5.Signal=GPIO_Output
92 PB6.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label 123 PB6.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label
93 PB6.GPIO_Label=LED2 124 PB6.GPIO_Label=LED2R
94 PB6.GPIO_PuPd=GPIO_PULLDOWN 125 PB6.GPIO_PuPd=GPIO_PULLDOWN
95 PB6.GPIO_Speed=GPIO_SPEED_FREQ_HIGH 126 PB6.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
96 PB6.Locked=true 127 PB6.Locked=true
97 PB6.Signal=GPIO_Output 128 PB6.Signal=GPIO_Output
98 PB7.GPIOParameters=GPIO_Speed,PinState,GPIO_PuPd,GPIO_Label 129 PB7.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label
99 PB7.GPIO_Label=LED1 130 PB7.GPIO_Label=LED2G
100 PB7.GPIO_PuPd=GPIO_PULLDOWN 131 PB7.GPIO_PuPd=GPIO_PULLDOWN
101 PB7.GPIO_Speed=GPIO_SPEED_FREQ_HIGH 132 PB7.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
102 PB7.Locked=true 133 PB7.Locked=true
103 PB7.PinState=GPIO_PIN_RESET
104 PB7.Signal=GPIO_Output 134 PB7.Signal=GPIO_Output
105 PB8.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultEXTI 135 PB8.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label
106 PB8.GPIO_Label=KEY1 136 PB8.GPIO_Label=LED1R
107 PB8.GPIO_ModeDefaultEXTI=GPIO_MODE_IT_FALLING 137 PB8.GPIO_PuPd=GPIO_PULLDOWN
108 PB8.GPIO_PuPd=GPIO_PULLUP 138 PB8.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
109 PB8.Locked=true 139 PB8.Locked=true
110 PB8.Signal=GPXTI8 140 PB8.Signal=GPIO_Output
111 PB9.GPIOParameters=GPIO_PuPd,GPIO_Label 141 PB9.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label
112 PB9.GPIO_Label=KEY2 142 PB9.GPIO_Label=LED1G
113 PB9.GPIO_PuPd=GPIO_PULLDOWN 143 PB9.GPIO_PuPd=GPIO_PULLDOWN
144 PB9.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
114 PB9.Locked=true 145 PB9.Locked=true
115 PB9.Signal=GPIO_Input 146 PB9.Signal=GPIO_Output
116 PC14-OSC32_IN.Mode=LSE-External-Oscillator 147 PC14-OSC32_IN.Mode=LSE-External-Oscillator
117 PC14-OSC32_IN.Signal=RCC_OSC32_IN 148 PC14-OSC32_IN.Signal=RCC_OSC32_IN
118 PC15-OSC32_OUT.Mode=LSE-External-Oscillator 149 PC15-OSC32_OUT.Mode=LSE-External-Oscillator
...@@ -163,7 +194,8 @@ RCC.APB1TimFreq_Value=48000000 ...@@ -163,7 +194,8 @@ RCC.APB1TimFreq_Value=48000000
163 RCC.FCLKCortexFreq_Value=48000000 194 RCC.FCLKCortexFreq_Value=48000000
164 RCC.FamilyName=M 195 RCC.FamilyName=M
165 RCC.HCLKFreq_Value=48000000 196 RCC.HCLKFreq_Value=48000000
166 RCC.IPParameters=AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,MCOFreq_Value,PLLCLKFreq_Value,PLLMCOFreq_Value,PLLMUL,SYSCLKFreq_VALUE,SYSCLKSource,TimSysFreq_Value,USART1Freq_Value 197 RCC.HSE_VALUE=16000000
198 RCC.IPParameters=AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,MCOFreq_Value,PLLCLKFreq_Value,PLLMCOFreq_Value,PLLMUL,SYSCLKFreq_VALUE,SYSCLKSource,TimSysFreq_Value,USART1Freq_Value
167 RCC.MCOFreq_Value=48000000 199 RCC.MCOFreq_Value=48000000
168 RCC.PLLCLKFreq_Value=48000000 200 RCC.PLLCLKFreq_Value=48000000
169 RCC.PLLMCOFreq_Value=24000000 201 RCC.PLLMCOFreq_Value=24000000
...@@ -172,23 +204,23 @@ RCC.SYSCLKFreq_VALUE=48000000 ...@@ -172,23 +204,23 @@ RCC.SYSCLKFreq_VALUE=48000000
172 RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK 204 RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
173 RCC.TimSysFreq_Value=48000000 205 RCC.TimSysFreq_Value=48000000
174 RCC.USART1Freq_Value=48000000 206 RCC.USART1Freq_Value=48000000
175 SH.GPXTI8.0=GPIO_EXTI8
176 SH.GPXTI8.ConfNb=1
177 TIM3.Channel-Output\ Compare1\ No\ Output=TIM_CHANNEL_1 207 TIM3.Channel-Output\ Compare1\ No\ Output=TIM_CHANNEL_1
178 TIM3.IPParameters=Channel-Output Compare1 No Output,Prescaler,Period 208 TIM3.IPParameters=Channel-Output Compare1 No Output,Prescaler,Period
179 TIM3.Period=1999 209 TIM3.Period=599
180 TIM3.Prescaler=23999 210 TIM3.Prescaler=23999
181 TIM6.IPParameters=Prescaler,Period 211 TIM6.IPParameters=Prescaler,Period
182 TIM6.Period=299 212 TIM6.Period=199
183 TIM6.Prescaler=47999 213 TIM6.Prescaler=29
184 USART1.BaudRate=115200 214 USART1.BaudRate=115200
185 USART1.IPParameters=VirtualMode-Asynchronous,BaudRate 215 USART1.IPParameters=VirtualMode-Asynchronous,BaudRate
186 USART1.VirtualMode-Asynchronous=VM_ASYNC 216 USART1.VirtualMode-Asynchronous=VM_ASYNC
187 USART2.BaudRate=115200 217 USART2.BaudRate=9600
188 USART2.IPParameters=VirtualMode-Asynchronous,BaudRate 218 USART2.IPParameters=VirtualMode-Asynchronous,BaudRate
189 USART2.VirtualMode-Asynchronous=VM_ASYNC 219 USART2.VirtualMode-Asynchronous=VM_ASYNC
190 VP_FREERTOS_VS_CMSIS_V2.Mode=CMSIS_V2 220 VP_FREERTOS_VS_CMSIS_V2.Mode=CMSIS_V2
191 VP_FREERTOS_VS_CMSIS_V2.Signal=FREERTOS_VS_CMSIS_V2 221 VP_FREERTOS_VS_CMSIS_V2.Signal=FREERTOS_VS_CMSIS_V2
222 VP_IWDG_VS_IWDG.Mode=IWDG_Activate
223 VP_IWDG_VS_IWDG.Signal=IWDG_VS_IWDG
192 VP_SYS_VS_tim1.Mode=TIM1 224 VP_SYS_VS_tim1.Mode=TIM1
193 VP_SYS_VS_tim1.Signal=SYS_VS_tim1 225 VP_SYS_VS_tim1.Signal=SYS_VS_tim1
194 VP_TIM3_VS_no_output1.Mode=Output Compare1 No Output 226 VP_TIM3_VS_no_output1.Mode=Output Compare1 No Output
......