diff --git a/.mxproject b/.mxproject index 6f74a35..1aa5d5e 100644 --- a/.mxproject +++ b/.mxproject @@ -6,30 +6,33 @@ SourceFiles=..\Core\Src\main.c;..\Core\Src\gpio.c;..\Core\Src\dma.c;..\Core\Src\ HeaderPath=..\Drivers\STM32F4xx_HAL_Driver\Inc;..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32F4xx\Include;..\Drivers\CMSIS\Include;..\Core\Inc; CDefines=USE_HAL_DRIVER;STM32F429xx;USE_HAL_DRIVER;USE_HAL_DRIVER; +[] +SourceFiles=;; + [PreviousGenFiles] AdvancedFolderStructure=true HeaderFileListSize=8 -HeaderFiles#0=C:/Users/zel/Desktop/WaveBox/Core/Inc/gpio.h -HeaderFiles#1=C:/Users/zel/Desktop/WaveBox/Core/Inc/dma.h -HeaderFiles#2=C:/Users/zel/Desktop/WaveBox/Core/Inc/iwdg.h -HeaderFiles#3=C:/Users/zel/Desktop/WaveBox/Core/Inc/tim.h -HeaderFiles#4=C:/Users/zel/Desktop/WaveBox/Core/Inc/usart.h -HeaderFiles#5=C:/Users/zel/Desktop/WaveBox/Core/Inc/stm32f4xx_it.h -HeaderFiles#6=C:/Users/zel/Desktop/WaveBox/Core/Inc/stm32f4xx_hal_conf.h -HeaderFiles#7=C:/Users/zel/Desktop/WaveBox/Core/Inc/main.h +HeaderFiles#0=F:/workspace/sync_wave_box/Core/Inc/gpio.h +HeaderFiles#1=F:/workspace/sync_wave_box/Core/Inc/dma.h +HeaderFiles#2=F:/workspace/sync_wave_box/Core/Inc/iwdg.h +HeaderFiles#3=F:/workspace/sync_wave_box/Core/Inc/tim.h +HeaderFiles#4=F:/workspace/sync_wave_box/Core/Inc/usart.h +HeaderFiles#5=F:/workspace/sync_wave_box/Core/Inc/stm32f4xx_it.h +HeaderFiles#6=F:/workspace/sync_wave_box/Core/Inc/stm32f4xx_hal_conf.h +HeaderFiles#7=F:/workspace/sync_wave_box/Core/Inc/main.h HeaderFolderListSize=1 -HeaderPath#0=C:/Users/zel/Desktop/WaveBox/Core/Inc +HeaderPath#0=F:/workspace/sync_wave_box/Core/Inc HeaderFiles=; SourceFileListSize=8 -SourceFiles#0=C:/Users/zel/Desktop/WaveBox/Core/Src/gpio.c -SourceFiles#1=C:/Users/zel/Desktop/WaveBox/Core/Src/dma.c -SourceFiles#2=C:/Users/zel/Desktop/WaveBox/Core/Src/iwdg.c -SourceFiles#3=C:/Users/zel/Desktop/WaveBox/Core/Src/tim.c -SourceFiles#4=C:/Users/zel/Desktop/WaveBox/Core/Src/usart.c -SourceFiles#5=C:/Users/zel/Desktop/WaveBox/Core/Src/stm32f4xx_it.c -SourceFiles#6=C:/Users/zel/Desktop/WaveBox/Core/Src/stm32f4xx_hal_msp.c -SourceFiles#7=C:/Users/zel/Desktop/WaveBox/Core/Src/main.c +SourceFiles#0=F:/workspace/sync_wave_box/Core/Src/gpio.c +SourceFiles#1=F:/workspace/sync_wave_box/Core/Src/dma.c +SourceFiles#2=F:/workspace/sync_wave_box/Core/Src/iwdg.c +SourceFiles#3=F:/workspace/sync_wave_box/Core/Src/tim.c +SourceFiles#4=F:/workspace/sync_wave_box/Core/Src/usart.c +SourceFiles#5=F:/workspace/sync_wave_box/Core/Src/stm32f4xx_it.c +SourceFiles#6=F:/workspace/sync_wave_box/Core/Src/stm32f4xx_hal_msp.c +SourceFiles#7=F:/workspace/sync_wave_box/Core/Src/main.c SourceFolderListSize=1 -SourcePath#0=C:/Users/zel/Desktop/WaveBox/Core/Src +SourcePath#0=F:/workspace/sync_wave_box/Core/Src SourceFiles=; diff --git a/Core/Src/iwdg.c b/Core/Src/iwdg.c index 99c5637..c8bf65d 100644 --- a/Core/Src/iwdg.c +++ b/Core/Src/iwdg.c @@ -31,8 +31,8 @@ void MX_IWDG_Init(void) { hiwdg.Instance = IWDG; - hiwdg.Init.Prescaler = IWDG_PRESCALER_4; - hiwdg.Init.Reload = 4095; + hiwdg.Init.Prescaler = IWDG_PRESCALER_256; + hiwdg.Init.Reload = 1000; if (HAL_IWDG_Init(&hiwdg) != HAL_OK) { Error_Handler(); diff --git a/Core/Src/main.c b/Core/Src/main.c index 9db9872..0558907 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -91,7 +91,7 @@ int main(void) /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_DMA_Init(); - // MX_IWDG_Init(); + MX_IWDG_Init(); MX_TIM3_Init(); MX_TIM8_Init(); MX_USART1_UART_Init(); diff --git a/MDK-ARM/WaveBox.uvguix.zel b/MDK-ARM/WaveBox.uvguix.zel index 94ae471..954ee30 100644 --- a/MDK-ARM/WaveBox.uvguix.zel +++ b/MDK-ARM/WaveBox.uvguix.zel @@ -83,17 +83,17 @@ -1 - 105 - 295 - 1730 - 774 + 129 + 388 + 1823 + 991 0 - 1412 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000D00000004000000010000004D433A5C55736572735C7A656C5C4465736B746F705C57617665426F785C447269766572735C53544D3332463478785F48414C5F4472697665725C5372635C73746D3332663478785F68616C2E63000000000F73746D3332663478785F68616C2E6300000000C5D4F200FFFFFFFF28433A5C55736572735C7A656C5C4465736B746F705C57617665426F785C757365635C706F72742E630000000006706F72742E6300000000FFDC7800FFFFFFFF52433A5C55736572735C7A656C5C4465736B746F705C57617665426F785C447269766572735C53544D3332463478785F48414C5F4472697665725C5372635C73746D3332663478785F68616C5F756172742E63000000001473746D3332663478785F68616C5F756172742E6300000000BECEA100FFFFFFFF54433A5C55736572735C7A656C5C4465736B746F705C57617665426F785C447269766572735C53544D3332463478785F48414C5F4472697665725C5372635C73746D3332663478785F68616C5F7077725F65782E63000000001673746D3332663478785F68616C5F7077725F65782E6300000000F0A0A100FFFFFFFF2D433A5C55736572735C7A656C5C4465736B746F705C57617665426F785C757365635C757365725F6D61696E2E63000000000B757365725F6D61696E2E63000000009CC1B600FFFFFFFF3A433A5C55736572735C7A656C5C4465736B746F705C57617665426F785C4D444B2D41524D5C737461727475705F73746D33326634323978782E730000000015737461727475705F73746D33326634323978782E7300000000F7B88600FFFFFFFF2C433A5C55736572735C7A656C5C4465736B746F705C57617665426F785C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000F7B88600FFFFFFFF54433A5C55736572735C7A656C5C4465736B746F705C57617665426F785C447269766572735C434D5349535C4465766963655C53545C53544D3332463478785C496E636C7564655C73746D33326634323978782E68000000000D73746D33326634323978782E6800000000D9ADC200FFFFFFFF29433A5C55736572735C7A656C5C4465736B746F705C57617665426F785C757365635C626F6172642E680000000007626F6172642E6800000000A5C2D700FFFFFFFF52433A5C55736572735C7A656C5C4465736B746F705C57617665426F785C447269766572735C53544D3332463478785F48414C5F4472697665725C5372635C73746D3332663478785F68616C5F6770696F2E63000000001473746D3332663478785F68616C5F6770696F2E6300000000BCA8E100FFFFFFFF39433A5C55736572735C7A656C5C4465736B746F705C57617665426F785C436F72655C5372635C73746D3332663478785F68616C5F6D73702E63000000001373746D3332663478785F68616C5F6D73702E6300000000F0A0A100FFFFFFFF2B433A5C55736572735C7A656C5C4465736B746F705C57617665426F785C436F72655C496E635C74696D2E68000000000574696D2E6800000000BECEA100FFFFFFFF53433A5C55736572735C7A656C5C4465736B746F705C57617665426F785C447269766572735C53544D3332463478785F48414C5F4472697665725C496E635C73746D3332663478785F68616C5F75736172742E68000000001573746D3332663478785F68616C5F75736172742E6800000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000091010000660000008007000032030000 + 1386 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000D00000004000000010000004B463A5C776F726B73706163655C73796E635F776176655F626F785C447269766572735C53544D3332463478785F48414C5F4472697665725C5372635C73746D3332663478785F68616C2E63000000000F73746D3332663478785F68616C2E6300000000C5D4F200FFFFFFFF26463A5C776F726B73706163655C73796E635F776176655F626F785C757365635C706F72742E630000000006706F72742E6300000000B5E99D00FFFFFFFF50463A5C776F726B73706163655C73796E635F776176655F626F785C447269766572735C53544D3332463478785F48414C5F4472697665725C5372635C73746D3332663478785F68616C5F756172742E63000000001473746D3332663478785F68616C5F756172742E6300000000F6FA7D00FFFFFFFF52463A5C776F726B73706163655C73796E635F776176655F626F785C447269766572735C53544D3332463478785F48414C5F4472697665725C5372635C73746D3332663478785F68616C5F7077725F65782E63000000001673746D3332663478785F68616C5F7077725F65782E6300000000EAD6A300FFFFFFFF2B463A5C776F726B73706163655C73796E635F776176655F626F785C757365635C757365725F6D61696E2E63000000000B757365725F6D61696E2E6300000000B3A6BE00FFFFFFFF38463A5C776F726B73706163655C73796E635F776176655F626F785C4D444B2D41524D5C737461727475705F73746D33326634323978782E730000000015737461727475705F73746D33326634323978782E7300000000A5C2D700FFFFFFFF2A463A5C776F726B73706163655C73796E635F776176655F626F785C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000D9ADC200FFFFFFFF52463A5C776F726B73706163655C73796E635F776176655F626F785C447269766572735C434D5349535C4465766963655C53545C53544D3332463478785C496E636C7564655C73746D33326634323978782E68000000000D73746D33326634323978782E6800000000F7B88600FFFFFFFF27463A5C776F726B73706163655C73796E635F776176655F626F785C757365635C626F6172642E680000000007626F6172642E68000000009CC1B600FFFFFFFF50463A5C776F726B73706163655C73796E635F776176655F626F785C447269766572735C53544D3332463478785F48414C5F4472697665725C5372635C73746D3332663478785F68616C5F6770696F2E63000000001473746D3332663478785F68616C5F6770696F2E6300000000BCA8E100FFFFFFFF37463A5C776F726B73706163655C73796E635F776176655F626F785C436F72655C5372635C73746D3332663478785F68616C5F6D73702E63000000001373746D3332663478785F68616C5F6D73702E6300000000F0A0A100FFFFFFFF29463A5C776F726B73706163655C73796E635F776176655F626F785C436F72655C496E635C74696D2E68000000000574696D2E6800000000BECEA100FFFFFFFF51463A5C776F726B73706163655C73796E635F776176655F626F785C447269766572735C53544D3332463478785F48414C5F4472697665725C496E635C73746D3332663478785F68616C5F75736172742E68000000001573746D3332663478785F68616C5F75736172742E6800000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000091010000660000008007000032030000 @@ -2589,7 +2589,7 @@ ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c 0 - 316 + 319 325 1 @@ -2607,7 +2607,7 @@ ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c 0 - 2682 + 2685 2707 1 @@ -2624,9 +2624,9 @@ ..\usec\user_main.c - 0 - 193 - 239 + 19 + 39 + 73 1 0 @@ -2634,7 +2634,7 @@ startup_stm32f429xx.s 0 - 174 + 176 183 1 @@ -2652,7 +2652,7 @@ ../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h 18 - 1118 + 1119 1120 1 @@ -2688,7 +2688,7 @@ ../Core/Inc/tim.h 0 - 7 + 10 33 1 diff --git a/MDK-ARM/WaveBox.uvprojx b/MDK-ARM/WaveBox.uvprojx index 22c2823..e43a215 100644 --- a/MDK-ARM/WaveBox.uvprojx +++ b/MDK-ARM/WaveBox.uvprojx @@ -365,7 +365,7 @@ --diag_suppress=381 --diag_suppress=1 --diag_suppress=177 --diag_suppress=111 --diag_suppress=1295 USE_HAL_DRIVER,STM32F429xx - ../Core/Inc; ../Drivers/STM32F4xx_HAL_Driver/Inc; ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy; ../Drivers/CMSIS/Device/ST/STM32F4xx/Include; ../Drivers/CMSIS/Include + ../Core/Inc; ../Drivers/STM32F4xx_HAL_Driver/Inc; ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy; ../Drivers/CMSIS/Device/ST/STM32F4xx/Include; ../Drivers/CMSIS/Include diff --git a/MDK-ARM/startup_stm32f429xx.lst b/MDK-ARM/startup_stm32f429xx.lst index 18543fd..0d20963 100644 --- a/MDK-ARM/startup_stm32f429xx.lst +++ b/MDK-ARM/startup_stm32f429xx.lst @@ -875,11 +875,11 @@ ARM Macro Assembler Page 14 00000000 Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M4.fp --apcs=int erwork --depend=wavebox\startup_stm32f429xx.d -owavebox\startup_stm32f429xx.o - -IC:\Users\zel\Desktop\WaveBox\MDK-ARM\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.4.0 -\CMSIS\Core\Include -IC:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.13.0 --predefine -="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 514" --predefine="_RTE -_ SETA 1" --predefine="STM32F429xx SETA 1" --list=startup_stm32f429xx.lst start -up_stm32f429xx.s +IF:\workspace\sync_wave_box\MDK-ARM\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.4.0\C +MSIS\Core\Include -IC:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.13.0 --predefine=" +__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 514" --predefine="_RTE_ +SETA 1" --predefine="STM32F429xx SETA 1" --list=startup_stm32f429xx.lst startup +_stm32f429xx.s diff --git a/README.md b/README.md index 1aa13d2..5995e65 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,9 @@ TODO: 如果低电平时间小于3us,会出现多触发一个脉冲的问题。 - + v1.2 + 1.添加看门狗 + 2.修复串口发送错误字符后,串口不好使的BUG ``` diff --git a/WaveBox.ioc b/WaveBox.ioc index 5562cf5..919f9ce 100644 --- a/WaveBox.ioc +++ b/WaveBox.ioc @@ -46,6 +46,9 @@ Dma.TIM8_UP.1.Priority=DMA_PRIORITY_LOW Dma.TIM8_UP.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode File.Version=6 GPIO.groupedBy= +IWDG.IPParameters=Prescaler,Reload +IWDG.Prescaler=IWDG_PRESCALER_256 +IWDG.Reload=1000 KeepUserPlacement=false Mcu.Family=STM32F4 Mcu.IP0=DMA diff --git a/release/wavebox_v1.2.zip b/release/wavebox_v1.2.zip new file mode 100644 index 0000000..b2c2a34 Binary files /dev/null and b/release/wavebox_v1.2.zip differ diff --git a/usec/user_main.c b/usec/user_main.c index 23a2359..7278c9b 100644 --- a/usec/user_main.c +++ b/usec/user_main.c @@ -15,6 +15,7 @@ #include "stm32f429xx.h" #include "stm32f4xx_hal_tim.h" #include "stm32f4xx_hal_usart.h" +#include "iwdg.h" /** * @brief 初始化所有IO状态 @@ -71,6 +72,7 @@ void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { */ if (!s_rxbuf_is_ready) { if (s_order_rxbuf == 'S') { + s_rxbuf_has_received = 0; s_rxbuf[s_rxbuf_has_received] = s_order_rxbuf; s_rxbuf_has_received++; } else if (s_rxbuf_has_received != 0) { @@ -243,6 +245,7 @@ void user_main() { /** * @brief 处理接收到的数据 */ + HAL_IWDG_Refresh(&hiwdg); #if 1 if (s_rxbuf_is_ready) { process_rxbuf();