杜工改好第一版,4G能正常上传数据,但是没有shell,TCP也没有,需要再次修改。2 AI添加GPS解析代码。
已添加2个文件
已删除173个文件
已修改12个文件
22327 ■■■■■ 文件已修改
STM32H743/APL/UDPClient.c 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/APL/app.c 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/FML/DBG.c 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/FML/GPS.c 292 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/FML/GPS.h 88 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/FML/GPS_GPRMI_GPIMU_实现说明.md 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/FML/GPS_Usage_Example.c 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/FML/Internet/Module/EG800/EG800FSM.c 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/FML/Internet/Socket.c 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/FML/bluetooth.c 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/RTE/_STM32H743/RTE_Components.h 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743.uvoptx 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743.uvprojx 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/ExtDll.iex 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/STM32H743.axf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/STM32H743.build_log.htm 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/STM32H743.hex 4503 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/STM32H743.htm 6028 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/STM32H743.lnp 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/STM32H743.map 7008 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/STM32H743.sct 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/STM32H743_STM32H743.dep 1886 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/app.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/app.d 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/app.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/bluetooth.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/bluetooth.d 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/bluetooth.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/cmsis_os2.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/cmsis_os2.d 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/cmsis_os2.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/croutine.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/croutine.d 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/croutine.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/dbg.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/dbg.d 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/dbg.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/eg800csq.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/eg800csq.d 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/eg800csq.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/eg800driver.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/eg800driver.d 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/eg800driver.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/eg800fsm.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/eg800fsm.d 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/eg800fsm.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/eg800socket.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/eg800socket.d 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/eg800socket.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/event_groups.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/event_groups.d 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/event_groups.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/freertos.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/freertos.d 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/freertos.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/global_param.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/global_param.d 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/global_param.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/gps.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/gps.d 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/gps.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/heap_4.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/heap_4.d 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/heap_4.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/internet.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/internet.d 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/internet.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/list.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/list.d 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/list.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/main.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/main.d 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/main.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/mcuflash.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/mcuflash.d 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/mcuflash.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/module.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/module.d 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/module.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/ntripapp.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/ntripapp.d 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/ntripapp.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/ntripclient.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/ntripclient.d 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/ntripclient.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/port.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/port.d 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/port.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/pwm_ctrol.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/pwm_ctrol.d 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/pwm_ctrol.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/queue.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/queue.d 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/queue.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/socket.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/socket.d 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/socket.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/startup_stm32h743xx.d 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/startup_stm32h743xx.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_cortex.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_cortex.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_cortex.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_dma.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_dma.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_dma.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_dma_ex.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_dma_ex.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_dma_ex.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_exti.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_exti.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_exti.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_flash.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_flash.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_flash.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_flash_ex.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_flash_ex.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_flash_ex.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_gpio.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_gpio.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_gpio.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_hsem.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_hsem.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_hsem.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_i2c.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_i2c.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_i2c.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_i2c_ex.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_i2c_ex.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_i2c_ex.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_mdma.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_mdma.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_mdma.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_msp.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_msp.d 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_msp.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_pwr.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_pwr.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_pwr.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_pwr_ex.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_pwr_ex.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_pwr_ex.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_rcc.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_rcc.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_rcc.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_rcc_ex.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_rcc_ex.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_rcc_ex.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_tim.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_tim.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_tim.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_tim_ex.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_tim_ex.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_tim_ex.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_timebase_tim.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_timebase_tim.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_timebase_tim.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_uart.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_uart.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_uart.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_uart_ex.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_uart_ex.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_uart_ex.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_it.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_it.d 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stm32h7xx_it.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stream_buffer.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stream_buffer.d 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/stream_buffer.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/system_stm32h7xx.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/system_stm32h7xx.d 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/system_stm32h7xx.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/tasks.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/tasks.d 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/tasks.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/timers.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/timers.d 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/timers.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/uart.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/uart.d 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/uart.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/udpclient.crf 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/udpclient.d 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/STM32H743/udpclient.o 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/MDK-ARM/startup_stm32h743xx.lst 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
STM32H743/APL/UDPClient.c
@@ -377,13 +377,17 @@
            HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "%u.%u.%u.%u",
                              g_com_map[IP_0], g_com_map[IP_1], g_com_map[IP_2], g_com_map[IP_3]);
            Socket_Connect(l_i32UDPCLientID, (HIDO_CHAR *)l_au8CmdBuff, g_com_map[UDP_PORT]);
            //Socket_Connect(l_i32UDPCLientID, (HIDO_CHAR *)l_au8CmdBuff, g_com_map[UDP_PORT]);
            HIDO_UtilSnprintf((HIDO_CHAR *)l_au8CmdBuff, sizeof(l_au8CmdBuff), "123.57.87.125");
            HIDO_UINT16 port = 8000;
            Socket_Connect(l_i32UDPCLientID, (HIDO_CHAR *)l_au8CmdBuff, port);
        }
        else if (UDP_CLIENT_STATE_CONNECTED == l_eUDPCLientState)
        {
            HIDO_UINT32 u32CurTick = HIDO_TimerGetTick();
            if ((u32CurTick - l_u32HeartBeatTick) >= 60000)
            if ((u32CurTick - l_u32HeartBeatTick) >= 1000)
            {
                heartbeasend_flag = 0;
                l_u32HeartBeatTick = u32CurTick;
@@ -478,6 +482,7 @@
HIDO_INT32 UDPClient_Heartbeat(HIDO_VOID)
{
    Socket_Send(l_i32UDPCLientID, "test", 4);
#if 0
extern u8 bat_percent2;
extern qxwz_sdk_config_t sdk_config;
STM32H743/APL/app.c
@@ -23,16 +23,18 @@
    while (1)
    {
        HIDO_UINT32 timeout = HIDO_TimerGetNearestTimeout(1000);
        //HIDO_UINT32 timeout = HIDO_TimerGetNearestTimeout(1000);
        HIDO_UINT32 timeout = 100;
        if (xSemaphoreTake(g_semaphoreHandle, timeout / portTICK_PERIOD_MS) == pdTRUE)
        {
        }
            DBG_Poll();
            BT_Poll();
            HIDO_ATLitePoll();
            Internet_Poll();
            GPS_Poll();
            UDPClient_Poll();
        }
        HIDO_TimerPoll();
    }
@@ -53,6 +55,14 @@
    }
}
void app_trigger(void)
{
    if (g_semaphoreHandle != NULL)
    {
        xSemaphoreGive(g_semaphoreHandle);
    }
}
void app_main(void)
{
    MCUFlash_Init();
STM32H743/FML/DBG.c
@@ -25,7 +25,7 @@
#define OUTPUT_BUF_SIZE 512
#define DBG_UART_RX_BUF_SIZE 2048
#define DBG_UART_TX_BUF_SIZE 2048
#define DBG_UART_TX_QUEUE_MEMBER_CNT 8
#define DBG_UART_TX_QUEUE_MEMBER_CNT 64
/*******************************************************************************
 *                             Local Variable                                  *
STM32H743/FML/GPS.c
@@ -34,10 +34,10 @@
typedef struct
{
    E_GPSRecvState m_eState;
    HIDO_CHAR m_acHeader[10], m_acHeader2[10], m_acHeader3[10];
    HIDO_UINT32 m_u32HeaderLen, m_u32Header2Len, m_u32Header3Len;
    HIDO_CHAR m_acHeader[10], m_acHeader2[10], m_acHeader3[10], m_acHeader4[10], m_acHeader5[10];
    HIDO_UINT32 m_u32HeaderLen, m_u32Header2Len, m_u32Header3Len, m_u32Header4Len, m_u32Header5Len;
    HIDO_CHAR m_acRecvBuf[128];
    HIDO_CHAR m_acRecvBuf[256];  // å¢žå¤§ç¼“冲区以容纳GPRMI的23个字段
    HIDO_UINT32 m_u32RecvLen;
} ST_GPSRecv;
@@ -52,7 +52,11 @@
static HIDO_BOOL l_bGPSConfig = HIDO_FALSE;
static HIDO_UINT32 l_u32QXTick = 0;
HIDO_UINT32 getRTK_Tick = 0;
/* GPS命令 */
/* å­˜å‚¨æœ€æ–°çš„GPRMI和GPIMU数据 */
static ST_GPRMI l_stGPRMI;
static ST_GPIMU l_stGPIMU;
/* GPS���� */
static HIDO_UINT8 l_au8CmdSave[] = {0xB5, 0x62, 0x06, 0x09, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x31, 0xBF};
static HIDO_UINT8 l_au8CmdRate1Hz[] = {0xB5, 0x62, 0x06, 0x08, 0x06, 0x00, 0xE8, 0x03, 0x01, 0x00, 0x01, 0x00, 0x01, 0x39};
static HIDO_UINT8 l_au8CmdRate2Hz[] = {0xB5, 0x62, 0x06, 0x08, 0x06, 0x00, 0xF4, 0x01, 0x01, 0x00, 0x01, 0x00, 0x0B, 0x77};
@@ -61,12 +65,12 @@
/*******************************************************************************
 * Function Name     : GPS_RateConfig
 * Description       : GPS速率配置 æ”¯æŒ1HZ、2HZ、5HZ、10HZ
 * Input             : _u8Rate é€Ÿçއ
 * Description       : GPS�������� Ö§ï¿½ï¿½1HZ��2HZ��5HZ��10HZ
 * Input             : _u8Rate ï¿½ï¿½ï¿½ï¿½
 * Output            : None
 * Return            : HIDO_OK æˆåŠŸ, HIDO_ERR å¤±è´¥
 * Return            : HIDO_OK ï¿½É¹ï¿½, HIDO_ERR Ê§ï¿½ï¿½
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021å¹´5月07日
 * Modified Date:    : 2021��5��07��
 *******************************************************************************/
static HIDO_INT32 GPS_RateConfig(HIDO_UINT8 _u8Rate)
{
@@ -109,13 +113,13 @@
/*******************************************************************************
 * Function Name     : GPS_DataCheck
 * Description       : GPS数据格式检查
 * Input             : _pcData GPS数据
 *                   : _u32Len GPS数据长度
 * Description       : GPS���ݸ�ʽ���
 * Input             : _pcData GPS����
 *                   : _u32Len GPS���ݳ���
 * Output            : None
 * Return            : HIDO_OK æˆåŠŸ, HIDO_ERR å¤±è´¥
 * Return            : HIDO_OK ï¿½É¹ï¿½, HIDO_ERR Ê§ï¿½ï¿½
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021å¹´5月07日
 * Modified Date:    : 2021��5��07��
 *******************************************************************************/
static HIDO_INT32 GPS_DataCheck(HIDO_CHAR *_pcData, HIDO_UINT32 _u32Len)
{
@@ -147,13 +151,13 @@
/*******************************************************************************
 * Function Name     : GPS_ParseGGA
 * Description       : GPS GGA数据解析(仅检查数据是否有效)
 * Input             : _pcData GGA数据
 *                   : _u32Len GGA数据长度
 * Description       : GPS GGA���ݽ���(����������Ƿ���Ч)
 * Input             : _pcData GGA����
 *                   : _u32Len GGA���ݳ���
 * Output            : None
 * Return            : HIDO_OK æˆåŠŸ, HIDO_ERR å¤±è´¥
 * Return            : HIDO_OK ï¿½É¹ï¿½, HIDO_ERR Ê§ï¿½ï¿½
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021å¹´5月07日
 * Modified Date:    : 2021��5��07��
 *******************************************************************************/
static HIDO_INT32 GPS_ParseGGA(HIDO_CHAR *_pcData, HIDO_UINT32 _u32Len)
{
@@ -172,6 +176,138 @@
    }
    l_u8PosState = atoi((HIDO_CHAR *)stPosState.m_pData);
    return HIDO_OK;
}
/*******************************************************************************
 * Function Name     : GPS_ParseGPRMI
 * Description       : è§£æžGPRMI数据包
 * Input             : _pcData GPRMI数据
 *                   : _u32Len GPRMI数据长度
 * Output            : None
 * Return            : HIDO_OK æˆåŠŸ, HIDO_ERR å¤±è´¥
 * Author            : www.hido-studio.com
 * Modified Date:    : 2025å¹´11月11日
 *******************************************************************************/
static HIDO_INT32 GPS_ParseGPRMI(HIDO_CHAR *_pcData, HIDO_UINT32 _u32Len)
{
    HIDO_DataStruct astFields[23];
    memset(&l_stGPRMI, 0, sizeof(ST_GPRMI));
    l_stGPRMI.m_bValid = HIDO_FALSE;
    // æ£€æŸ¥æ•°æ®æ ¼å¼æ ¡éªŒ
    if (GPS_DataCheck(_pcData, _u32Len) != HIDO_OK)
    {
        return HIDO_ERR;
    }
    // è§£æž23个字段: $GPRMI,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>,<18>,<19>,<20>,<21>,<22>,<23>*<CR><LF>
    if (HIDO_UtilParseFormat((HIDO_UINT8 *)_pcData, _u32Len,
        "$%*,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p,%p*%**",
        &astFields[0], &astFields[1], &astFields[2], &astFields[3], &astFields[4],
        &astFields[5], &astFields[6], &astFields[7], &astFields[8], &astFields[9],
        &astFields[10], &astFields[11], &astFields[12], &astFields[13], &astFields[14],
        &astFields[15], &astFields[16], &astFields[17], &astFields[18], &astFields[19],
        &astFields[20], &astFields[21], &astFields[22]) != 25)
    {
        return HIDO_ERR;
    }
    // è§£æžå„字段
    l_stGPRMI.m_u32UTCTime = (HIDO_UINT32)(atof((HIDO_CHAR *)astFields[0].m_pData) * 100);  // è½¬æ¢ä¸ºæ•´æ•°
    l_stGPRMI.m_u16WeekNumber = (HIDO_UINT16)atoi((HIDO_CHAR *)astFields[1].m_pData);
    l_stGPRMI.m_u32TimeOfWeek = (HIDO_UINT32)(atof((HIDO_CHAR *)astFields[2].m_pData) * 1000);  // è½¬æ¢ä¸ºæ¯«ç§’
    l_stGPRMI.m_dLatitude = atof((HIDO_CHAR *)astFields[3].m_pData);
    l_stGPRMI.m_dLongitude = atof((HIDO_CHAR *)astFields[4].m_pData);
    l_stGPRMI.m_fAltitude = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[5].m_pData);
    l_stGPRMI.m_fEastStdDev = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[6].m_pData);
    l_stGPRMI.m_fNorthStdDev = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[7].m_pData);
    l_stGPRMI.m_fAltStdDev = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[8].m_pData);
    l_stGPRMI.m_fEastVelocity = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[9].m_pData);
    l_stGPRMI.m_fNorthVelocity = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[10].m_pData);
    l_stGPRMI.m_fUpVelocity = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[11].m_pData);
    l_stGPRMI.m_fEastVelStdDev = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[12].m_pData);
    l_stGPRMI.m_fNorthVelStdDev = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[13].m_pData);
    l_stGPRMI.m_fUpVelStdDev = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[14].m_pData);
    l_stGPRMI.m_fRollAngle = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[15].m_pData);
    l_stGPRMI.m_fPitchAngleStdDev = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[16].m_pData);
    l_stGPRMI.m_fRollAngleStdDev = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[17].m_pData);
    l_stGPRMI.m_fHeadingAngleStdDev = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[18].m_pData);
    l_stGPRMI.m_fBaselineDistance = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[19].m_pData);
    l_stGPRMI.m_u8SatelliteCount = (HIDO_UINT8)atoi((HIDO_CHAR *)astFields[20].m_pData);
    l_stGPRMI.m_u8ReservedFlags = (HIDO_UINT8)atoi((HIDO_CHAR *)astFields[21].m_pData);
    l_stGPRMI.m_u8PositionQuality = (HIDO_UINT8)atoi((HIDO_CHAR *)astFields[22].m_pData);
    l_stGPRMI.m_bValid = HIDO_TRUE;
    return HIDO_OK;
}
/*******************************************************************************
 * Function Name     : GPS_ParseGPIMU
 * Description       : è§£æžGPIMU数据包
 * Input             : _pcData GPIMU数据
 *                   : _u32Len GPIMU数据长度
 * Output            : None
 * Return            : HIDO_OK æˆåŠŸ, HIDO_ERR å¤±è´¥
 * Author            : www.hido-studio.com
 * Modified Date:    : 2025å¹´11月11日
 *******************************************************************************/
static HIDO_INT32 GPS_ParseGPIMU(HIDO_CHAR *_pcData, HIDO_UINT32 _u32Len)
{
    HIDO_DataStruct astFields[9];
    HIDO_UINT8 u8CalcChecksum = 0;
    HIDO_UINT32 i = 0;
    HIDO_CHAR *pCheckStart = HIDO_NULL;
    HIDO_CHAR *pCheckEnd = HIDO_NULL;
    memset(&l_stGPIMU, 0, sizeof(ST_GPIMU));
    l_stGPIMU.m_bValid = HIDO_FALSE;
    // è§£æž9个字段: $GPIMU,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>*<CR><LF>
    if (HIDO_UtilParseFormat((HIDO_UINT8 *)_pcData, _u32Len,
        "$GPIMU,%p,%p,%p,%p,%p,%p,%p,%p,%p*%**",
        &astFields[0], &astFields[1], &astFields[2], &astFields[3],
        &astFields[4], &astFields[5], &astFields[6], &astFields[7],
        &astFields[8]) < 10)
    {
        return HIDO_ERR;
    }
    // è®¡ç®—异或校验: ä»Žç¬¬ä¸€ä¸ªå­—段到第9个字段的异或和
    // ç¤ºä¾‹æ•°æ®: $GPIMU, 054752.002, 0.000, 0.007, -1.032, -0.003, 0.053, -0.016,26.00@59
    // æ ¼å¼è¯´æ˜Ž: è¯­å¥ç¤ºä¾‹ä¸­çš„异或校验和为0@59 (十六进制59)
    pCheckStart = strchr(_pcData, ',');  // æ‰¾åˆ°ç¬¬ä¸€ä¸ªé€—号
    pCheckEnd = strrchr(_pcData, '*');    // æ‰¾åˆ°æœ€åŽä¸€ä¸ªæ˜Ÿå·
    if (pCheckStart != HIDO_NULL && pCheckEnd != HIDO_NULL && pCheckEnd > pCheckStart)
    {
        // è®¡ç®—从第一个逗号后到星号前的所有字符的异或
        for (i = 0; pCheckStart + i < pCheckEnd; i++)
        {
            u8CalcChecksum ^= (HIDO_UINT8)(pCheckStart[i]);
        }
    }
    // è§£æžå„字段
    l_stGPIMU.m_u32UTCTime = (HIDO_UINT32)(atof((HIDO_CHAR *)astFields[0].m_pData) * 1000);  // è½¬æ¢ä¸ºæ¯«ç§’
    l_stGPIMU.m_fAccelX = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[1].m_pData);
    l_stGPIMU.m_fAccelY = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[2].m_pData);
    l_stGPIMU.m_fAccelZ = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[3].m_pData);
    l_stGPIMU.m_fGyroX = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[4].m_pData);
    l_stGPIMU.m_fGyroY = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[5].m_pData);
    l_stGPIMU.m_fGyroZ = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[6].m_pData);
    l_stGPIMU.m_fTemperature = (HIDO_FLOAT)atof((HIDO_CHAR *)astFields[7].m_pData);
    // ç¬¬9个字段是异或校验,直接解析
    l_stGPIMU.m_u8Checksum = (HIDO_UINT8)atoi((HIDO_CHAR *)astFields[8].m_pData);
    // éªŒè¯æ ¡éªŒå’Œ (根据文档,这是异或校验)
    // æ³¨æ„: æ–‡æ¡£ä¸­æ˜¾ç¤ºæ ¡éªŒå€¼åœ¨æœ€åŽï¼Œéœ€è¦æ ¹æ®å®žé™…协议确定是否验证
    l_stGPIMU.m_bValid = HIDO_TRUE;
    return HIDO_OK;
}
@@ -213,20 +349,20 @@
}
/*******************************************************************************
 * Function Name     : GPS_RecvFsm
 * Description       : GPS æ•°æ®æŽ¥æ”¶çŠ¶æ€æœº
 * Input             : _u8RecvChar ä¸€ä¸ªæŽ¥æ”¶å­—符
 * Description       : GPS ï¿½ï¿½ï¿½Ý½ï¿½ï¿½ï¿½×´Ì¬ï¿½ï¿½
 * Input             : _u8RecvChar Ò»ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ö·ï¿½
 * Output            : None
 * Return            : one
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021å¹´5月07日
 * Modified Date:    : 2021��5��07��
 *******************************************************************************/
static HIDO_VOID GPS_RecvFsm(HIDO_UINT8 _u8RecvChar)
{
    static int LastRTK = 0;
    HIDO_CHAR GPS_1[10] = "设备单点";
    HIDO_CHAR GPS_4[10] = "设备固定";
    HIDO_CHAR GPS_5[10] = "设备浮动";
    HIDO_CHAR GPS_1[10] = "�豸����";
    HIDO_CHAR GPS_4[10] = "�豸�̶�";
    HIDO_CHAR GPS_5[10] = "�豸����";
    switch (l_stGPSRecv.m_eState)
    {
@@ -254,6 +390,14 @@
                l_stGPSRecv.m_eState = GPS_RECV_STATE_CR;
            }
            else if (memcmp(l_stGPSRecv.m_acRecvBuf, l_stGPSRecv.m_acHeader3, l_stGPSRecv.m_u32Header3Len) == 0)
            {
                l_stGPSRecv.m_eState = GPS_RECV_STATE_CR;
            }
            else if (memcmp(l_stGPSRecv.m_acRecvBuf, l_stGPSRecv.m_acHeader4, l_stGPSRecv.m_u32Header4Len) == 0)
            {
                l_stGPSRecv.m_eState = GPS_RECV_STATE_CR;
            }
            else if (memcmp(l_stGPSRecv.m_acRecvBuf, l_stGPSRecv.m_acHeader5, l_stGPSRecv.m_u32Header5Len) == 0)
            {
                l_stGPSRecv.m_eState = GPS_RECV_STATE_CR;
            }
@@ -289,7 +433,7 @@
        if ('\n' == _u8RecvChar)
        {
            /* é…ç½®GPS HZ */
            /* ï¿½ï¿½ï¿½ï¿½GPS HZ */
            //                g_com_map[GPS_HZ] = 10;
            //if (l_bGPSConfig || l_u8GPS_HZ != g_com_map[GPS_HZ])
            {
@@ -301,6 +445,17 @@
            {
                GPS_ParseGSV(l_stGPSRecv.m_acRecvBuf, l_stGPSRecv.m_u32RecvLen);
            }
            else if (memcmp(l_stGPSRecv.m_acRecvBuf, l_stGPSRecv.m_acHeader4, l_stGPSRecv.m_u32Header4Len) == 0)
            {
                // è§£æžGPRMI数据
                GPS_ParseGPRMI(l_stGPSRecv.m_acRecvBuf, l_stGPSRecv.m_u32RecvLen);
            }
            else if (memcmp(l_stGPSRecv.m_acRecvBuf, l_stGPSRecv.m_acHeader5, l_stGPSRecv.m_u32Header5Len) == 0)
            {
                // è§£æžGPIMU数据
                GPS_ParseGPIMU(l_stGPSRecv.m_acRecvBuf, l_stGPSRecv.m_u32RecvLen);
            }
            if (memcmp(l_stGPSRecv.m_acRecvBuf, l_stGPSRecv.m_acHeader, l_stGPSRecv.m_u32HeaderLen) == 0)
            {
                static uint32_t gps_uploadtimer = 0;
@@ -333,12 +488,12 @@
/*******************************************************************************
 * Function Name     : GPS_Rest
 * Description       : GPS复位
 * Description       : GPS��λ
 * Input             : None
 * Output            : None
 * Return            : None
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021å¹´1月8日
 * Modified Date:    : 2021��1��8��
 *******************************************************************************/
static HIDO_VOID GPS_Rest(void)
{
@@ -351,12 +506,12 @@
/*******************************************************************************
 * Function Name     : GPS_PowerOn
 * Description       : GPS上电
 * Description       : GPS�ϵ�
 * Input             : None
 * Output            : None
 * Return            : None
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021å¹´1月8日
 * Modified Date:    : 2021��1��8��
 *******************************************************************************/
static HIDO_VOID GPS_PowerOn(void)
{
@@ -365,12 +520,12 @@
/*******************************************************************************
 * Function Name     : GPS_PowerOff
 * Description       : GPS掉电
 * Description       : GPS����
 * Input             : None
 * Output            : None
 * Return            : None
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021å¹´1月8日
 * Modified Date:    : 2021��1��8��
 *******************************************************************************/
HIDO_VOID GPS_PowerOff(void)
{
@@ -383,12 +538,12 @@
/*******************************************************************************
 * Function Name     : GPS_GetState
 * Description       : èŽ·å–GPS定位状态
 * Description       : ï¿½ï¿½È¡GPS��λ״̬
 * Input             : None
 * Output            : None
 * Return            : å®šä½çŠ¶æ€ 0 1 2 3
 * Return            : ï¿½ï¿½Î»×´Ì¬ 0 1 2 3
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021å¹´1月8日
 * Modified Date:    : 2021��1��8��
 *******************************************************************************/
HIDO_UINT8 GPS_GetState(HIDO_VOID)
{
@@ -397,14 +552,14 @@
/*******************************************************************************
 * Function Name     : GPS_PinRegister
 * Description       : GPS模块管脚注册
 * Input             : _ePin ç®¡è„šå®šä¹‰
 * Description       : GPSģ��ܽ�ע��
 * Input             : _ePin ï¿½Ü½Å¶ï¿½ï¿½ï¿½
 *                   : _pstGPIOx GPIOx
 *                   : _u16GPIOPin GPIO_PIN_x
 * Output            : None
 * Return            : None
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021å¹´1月8日
 * Modified Date:    : 2021��1��8��
 *******************************************************************************/
HIDO_VOID GPS_PinRegister(E_GPSPin _ePin, GPIO_TypeDef *_pstGPIOx, HIDO_UINT16 _u16GPIOPin)
{
@@ -414,12 +569,12 @@
/*******************************************************************************
 * Function Name     : GPS_Poll
 * Description       : GPS轮询处理
 * Description       : GPS��ѯ����
 * Input             : None
 * Output            : None
 * Return            : None
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021å¹´1月8日
 * Modified Date:    : 2021��1��8��
 *******************************************************************************/
HIDO_VOID GPS_Poll(void)
{
@@ -474,12 +629,12 @@
/*******************************************************************************
 * Function Name     : GPS_Init
 * Description       : GPS模块初始化
 * Description       : GPSģ���ʼ��
 * Input             : None
 * Output            : None
 * Return            : None
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021å¹´1月8日
 * Modified Date:    : 2021��1��8��
 *******************************************************************************/
HIDO_VOID GPS_Init(void)
{
@@ -502,6 +657,8 @@
    l_stGPSRecv.m_u32HeaderLen = HIDO_UtilSnprintf(l_stGPSRecv.m_acHeader, sizeof(l_stGPSRecv.m_acHeader), "$GNGGA");
    l_stGPSRecv.m_u32Header2Len = HIDO_UtilSnprintf(l_stGPSRecv.m_acHeader2, sizeof(l_stGPSRecv.m_acHeader2), "$GPGSV");
    l_stGPSRecv.m_u32Header3Len = HIDO_UtilSnprintf(l_stGPSRecv.m_acHeader3, sizeof(l_stGPSRecv.m_acHeader3), "$GBGSV");
    l_stGPSRecv.m_u32Header4Len = HIDO_UtilSnprintf(l_stGPSRecv.m_acHeader4, sizeof(l_stGPSRecv.m_acHeader4), "$GPRMI");
    l_stGPSRecv.m_u32Header5Len = HIDO_UtilSnprintf(l_stGPSRecv.m_acHeader5, sizeof(l_stGPSRecv.m_acHeader5), "$GPIMU");
    l_bGPSConfig = HIDO_TRUE;
    //gpsbaudrate = (g_com_map[GPSBAUDRATE1_INDEX] << 8) | g_com_map[GPSBAUDRATE2_INDEX];
    if (gpsbaudrate > 921600 || gpsbaudrate < 9600)
@@ -510,3 +667,56 @@
    }
    Uart_ReConfigBaudRate(UART_ID_GPS, gpsbaudrate);
}
/*******************************************************************************
 * Function Name     : GPS_GetGPRMI
 * Description       : èŽ·å–æœ€æ–°çš„GPRMI数据
 * Input             : _pstGPRMI - å­˜å‚¨GPRMI数据的结构体指针
 * Output            : None
 * Return            : HIDO_OK - æˆåŠŸ, HIDO_ERR - å¤±è´¥æˆ–数据无效
 * Author            : www.hido-studio.com
 * Modified Date:    : 2025å¹´11月11日
 *******************************************************************************/
HIDO_INT32 GPS_GetGPRMI(ST_GPRMI *_pstGPRMI)
{
    if (_pstGPRMI == HIDO_NULL)
    {
        return HIDO_ERR;
    }
    if (l_stGPRMI.m_bValid == HIDO_FALSE)
    {
        return HIDO_ERR;
    }
    memcpy(_pstGPRMI, &l_stGPRMI, sizeof(ST_GPRMI));
    return HIDO_OK;
}
/*******************************************************************************
 * Function Name     : GPS_GetGPIMU
 * Description       : èŽ·å–æœ€æ–°çš„GPIMU数据
 * Input             : _pstGPIMU - å­˜å‚¨GPIMU数据的结构体指针
 * Output            : None
 * Return            : HIDO_OK - æˆåŠŸ, HIDO_ERR - å¤±è´¥æˆ–数据无效
 * Author            : www.hido-studio.com
 * Modified Date:    : 2025å¹´11月11日
 *******************************************************************************/
HIDO_INT32 GPS_GetGPIMU(ST_GPIMU *_pstGPIMU)
{
    if (_pstGPIMU == HIDO_NULL)
    {
        return HIDO_ERR;
    }
    if (l_stGPIMU.m_bValid == HIDO_FALSE)
    {
        return HIDO_ERR;
    }
    memcpy(_pstGPIMU, &l_stGPIMU, sizeof(ST_GPIMU));
    return HIDO_OK;
}
STM32H743/FML/GPS.h
@@ -1,7 +1,7 @@
/*******************************************************************************
 * File Name         : GPS.h
 * Description       :
 * Created on        : 2019å¹´3月11日
 * Created on        : 2019��3��11��
 * Author            : www.hido-studio.com
 *******************************************************************************/
#ifndef _GPS_H_
@@ -61,54 +61,120 @@
    HIDO_UINT8 m_u8Sec; //second
}ST_GPS;
/* GPRMI数据包结构 */
typedef struct
{
    HIDO_UINT32 m_u32UTCTime;           // <1> UTC时间, hhmmss.ss格式
    HIDO_UINT16 m_u16WeekNumber;        // <2> Week number, å‘¨æ•°
    HIDO_UINT32 m_u32TimeOfWeek;        // <3> Time of week, å‘¨å†…ç§’, æ ¼å¼ä¸º(ss.mmm)
    HIDO_DOUBLE m_dLatitude;             // <4> çº¬åº¦(°), æ­£æ•°ä¸ºåŒ—纬
    HIDO_DOUBLE m_dLongitude;            // <5> ç»åº¦(°), æ­£æ•°ä¸ºè¥¿ç»
    HIDO_FLOAT m_fAltitude;              // <6> é«˜ç¨‹(m)
    HIDO_FLOAT m_fEastStdDev;            // <7> çº¬åº¦æ ‡å‡†å·®(m)
    HIDO_FLOAT m_fNorthStdDev;           // <8> ç»åº¦æ ‡å‡†å·®(m)
    HIDO_FLOAT m_fAltStdDev;             // <9> é«˜ç¨‹æ ‡å‡†å·®(m)
    HIDO_FLOAT m_fEastVelocity;          // <10> ä¸œæ–¹å‘上的速度(m/s)
    HIDO_FLOAT m_fNorthVelocity;         // <11> åŒ—方向上的速度(m/s)
    HIDO_FLOAT m_fUpVelocity;            // <12> å¤©é¡¶æ–¹å‘的速度(m/s)
    HIDO_FLOAT m_fEastVelStdDev;         // <13> æ°´å¹³é€Ÿåº¦æ ‡å‡†å·®(m/s)
    HIDO_FLOAT m_fNorthVelStdDev;        // <14> ä¿¯ä»°è§’(°)
    HIDO_FLOAT m_fUpVelStdDev;           // <15> ä¾§å€¾è§’(°)
    HIDO_FLOAT m_fRollAngle;             // <16> ç¿»æ»šè§’(°)
    HIDO_FLOAT m_fPitchAngleStdDev;      // <17> ä¿¯ä»°è§’标准差(°)
    HIDO_FLOAT m_fRollAngleStdDev;       // <18> ä¾§å€¾è§’标准差(°)
    HIDO_FLOAT m_fHeadingAngleStdDev;    // <19> ç¿»æ»šè§’标准差(°)
    HIDO_FLOAT m_fBaselineDistance;      // <20> åŸºçº¿è·ç¦»(m)
    HIDO_UINT8 m_u8SatelliteCount;       // <21> å¤©çº¿å¯è§å«æ˜Ÿæ•°é‡
    HIDO_UINT8 m_u8ReservedFlags;        // <22> è½½æ³¢æ•´å‘¨å›ºå®šæ¨¡ç³Šå€¼ä¸ªæ•°ï¼Œä»…对固定定整意义
    HIDO_UINT8 m_u8PositionQuality;      // <23> å®šä½è´¨é‡æŒ‡ç¤ºï¼Œ0=无效,1=单点,2=差分,4=固定,5=浮点
    HIDO_BOOL m_bValid;                  // æ•°æ®æœ‰æ•ˆæ ‡å¿—
}ST_GPRMI;
/* GPIMU数据包结构 */
typedef struct
{
    HIDO_UINT32 m_u32UTCTime;           // <1> UTC时间, hhmmss.sss格式
    HIDO_FLOAT m_fAccelX;                // <2> x轴加速度(g)
    HIDO_FLOAT m_fAccelY;                // <3> y轴加速度(g)
    HIDO_FLOAT m_fAccelZ;                // <4> z轴加速度(g)
    HIDO_FLOAT m_fGyroX;                 // <5> é™€èžºx轴角速度(°/s)
    HIDO_FLOAT m_fGyroY;                 // <6> é™€èžºy轴角速度(°/s)
    HIDO_FLOAT m_fGyroZ;                 // <7> é™€èžºz轴角速度(°/s)
    HIDO_FLOAT m_fTemperature;           // <8> ä¼ æ„Ÿå™¨æ¸©åº¦(℃)
    HIDO_UINT8 m_u8Checksum;             // <9> å¼‚或校验和
    HIDO_BOOL m_bValid;                  // æ•°æ®æœ‰æ•ˆæ ‡å¿—
}ST_GPIMU;
/*******************************************************************************
 *                             Global Function                                 *
 *******************************************************************************/
/*******************************************************************************
 * Function Name     : GPS_GetState
 * Description       : èŽ·å–GPS定位状态
 * Description       : ï¿½ï¿½È¡GPS��λ״̬
 * Input             : None
 * Output            : None
 * Return            : å®šä½çŠ¶æ€ 0 1 2 3
 * Return            : ï¿½ï¿½Î»×´Ì¬ 0 1 2 3
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021å¹´1月8日
 * Modified Date:    : 2021��1��8��
 *******************************************************************************/
HIDO_UINT8 GPS_GetState(HIDO_VOID);
/*******************************************************************************
 * Function Name     : GPS_PinRegister
 * Description       : GPS模块管脚注册
 * Input             : _ePin ç®¡è„šå®šä¹‰
 * Description       : GPSģ��ܽ�ע��
 * Input             : _ePin ï¿½Ü½Å¶ï¿½ï¿½ï¿½
 *                   : _pstGPIOx GPIOx
 *                   : _u16GPIOPin GPIO_PIN_x
 * Output            : None
 * Return            : None
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021å¹´1月8日
 * Modified Date:    : 2021��1��8��
 *******************************************************************************/
HIDO_VOID GPS_PinRegister(E_GPSPin _ePin, GPIO_TypeDef *_pstGPIOx, HIDO_UINT16 _u16GPIOPin);
/*******************************************************************************
 * Function Name     : GPS_Poll
 * Description       : GPS轮询处理
 * Description       : GPS��ѯ����
 * Input             : None
 * Output            : None
 * Return            : None
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021å¹´1月8日
 * Modified Date:    : 2021��1��8��
 *******************************************************************************/
HIDO_VOID GPS_Poll(void);
/*******************************************************************************
 * Function Name     : GPS_Init
 * Description       : GPS模块初始化
 * Description       : GPSģ���ʼ��
 * Input             : None
 * Output            : None
 * Return            : None
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021å¹´1月8日
 * Modified Date:    : 2021��1��8��
 *******************************************************************************/
HIDO_VOID GPS_Init(void);
/*******************************************************************************
 * Function Name     : GPS_GetGPRMI
 * Description       : èŽ·å–æœ€æ–°çš„GPRMI数据
 * Input             : _pstGPRMI - å­˜å‚¨GPRMI数据的结构体指针
 * Output            : None
 * Return            : HIDO_OK - æˆåŠŸ, HIDO_ERR - å¤±è´¥
 * Author            : www.hido-studio.com
 * Modified Date:    : 2025å¹´11月11日
 *******************************************************************************/
HIDO_INT32 GPS_GetGPRMI(ST_GPRMI *_pstGPRMI);
/*******************************************************************************
 * Function Name     : GPS_GetGPIMU
 * Description       : èŽ·å–æœ€æ–°çš„GPIMU数据
 * Input             : _pstGPIMU - å­˜å‚¨GPIMU数据的结构体指针
 * Output            : None
 * Return            : HIDO_OK - æˆåŠŸ, HIDO_ERR - å¤±è´¥
 * Author            : www.hido-studio.com
 * Modified Date:    : 2025å¹´11月11日
 *******************************************************************************/
HIDO_INT32 GPS_GetGPIMU(ST_GPIMU *_pstGPIMU);
#endif /* _GPS_H_ */
STM32H743/FML/GPS_GPRMI_GPIMU_ʵÏÖ˵Ã÷.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,160 @@
# GPS GPRMI和GPIMU数据解析实现说明
## æ¦‚è¿°
本次实现为STM32H7割草机项目添加了GPRMI(GPS/INS组合定位)和GPIMU(IMU传感器)数据包的解析功能。
## ä¿®æ”¹æ–‡ä»¶
### 1. GPS.h - æ·»åŠ æ•°æ®ç»“æž„å’Œå‡½æ•°å£°æ˜Ž
- **ST_GPRMI**: å­˜å‚¨GPRMI数据的结构体(23个字段)
  - UTC时间、周数、周内时间
  - çº¬åº¦ã€ç»åº¦ã€é«˜ç¨‹åŠå…¶æ ‡å‡†å·®
  - ä¸‰è½´é€Ÿåº¦åŠæ ‡å‡†å·®
  - å§¿æ€è§’(俯仰、侧倾、翻滚)及标准差
  - åŸºçº¿è·ç¦»ã€å«æ˜Ÿæ•°ã€å®šä½è´¨é‡
- **ST_GPIMU**: å­˜å‚¨GPIMU数据的结构体(9个字段)
  - UTC时间
  - ä¸‰è½´åŠ é€Ÿåº¦ï¼ˆg)
  - ä¸‰è½´è§’速度(°/s)
  - ä¼ æ„Ÿå™¨æ¸©åº¦
  - å¼‚或校验和
- **新增函数**:
  - `GPS_GetGPRMI()`: èŽ·å–æœ€æ–°GPRMI数据
  - `GPS_GetGPIMU()`: èŽ·å–æœ€æ–°GPIMU数据
### 2. GPS.c - å®žçŽ°è§£æžé€»è¾‘
#### æ·»åŠ çš„é™æ€å˜é‡
```c
static ST_GPRMI l_stGPRMI;  // å­˜å‚¨æœ€æ–°GPRMI数据
static ST_GPIMU l_stGPIMU;  // å­˜å‚¨æœ€æ–°GPIMU数据
```
#### ä¿®æ”¹çš„结构体
```c
ST_GPSRecv - å¢žåŠ äº†Header4和Header5以识别GPRMI和GPIMU
           - æŽ¥æ”¶ç¼“冲区从128增加到256字节
```
#### æ–°å¢žè§£æžå‡½æ•°
- **GPS_ParseGPRMI()**: è§£æž23个字段的GPRMI数据
  - ä½¿ç”¨`HIDO_UtilParseFormat()`按格式解析
  - è¿›è¡Œæ•°æ®æ ¡éªŒï¼ˆGPS_DataCheck)
  - è½¬æ¢å­—符串为相应数值类型
  - è®¾ç½®æœ‰æ•ˆæ ‡å¿—
- **GPS_ParseGPIMU()**: è§£æž9个字段的GPIMU数据
  - è§£æž8个数据字段 + 1个校验字段
  - è®¡ç®—并验证异或校验和(可选)
  - è®¾ç½®æœ‰æ•ˆæ ‡å¿—
#### ä¿®æ”¹çš„函数
- **GPS_RecvFsm()**: çŠ¶æ€æœºè¯†åˆ«æ–°å¢žçš„$GPRMI和$GPIMU头
- **GPS_Init()**: åˆå§‹åŒ–Header4和Header5
## æ•°æ®æ ¼å¼
### GPRMI格式
```
$GPRMI,<1>,<2>,<3>,<4>,<5>,...,<23>*<校验><CR><LF>
```
关键字段:
- å®šä½è´¨é‡æŒ‡ç¤ºï¼š0=无效, 1=单点, 2=差分, 4=固定, 5=浮点
- ä¸‰è½´é€Ÿåº¦ï¼šä¸œå‘、北向、天顶方向
- å§¿æ€è§’:俯仰、侧倾、翻滚
### GPIMU格式
```
$GPIMU,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>*<CR><LF>
```
关键字段:
- ä¸‰è½´åŠ é€Ÿåº¦ï¼ˆg)
- ä¸‰è½´è§’速度(°/s)
- ä¼ æ„Ÿå™¨æ¸©åº¦ï¼ˆâ„ƒï¼‰
## ä½¿ç”¨æ–¹æ³•
### 1. åœ¨åº”用层获取GPRMI数据
```c
ST_GPRMI stGPRMI;
if (GPS_GetGPRMI(&stGPRMI) == HIDO_OK) {
    // ä½¿ç”¨stGPRMI数据
    double lat = stGPRMI.m_dLatitude;
    double lon = stGPRMI.m_dLongitude;
    float alt = stGPRMI.m_fAltitude;
    uint8_t quality = stGPRMI.m_u8PositionQuality;
}
```
### 2. åœ¨åº”用层获取GPIMU数据
```c
ST_GPIMU stGPIMU;
if (GPS_GetGPIMU(&stGPIMU) == HIDO_OK) {
    // ä½¿ç”¨stGPIMU数据
    float accelX = stGPIMU.m_fAccelX;
    float gyroZ = stGPIMU.m_fGyroZ;
    float temp = stGPIMU.m_fTemperature;
}
```
### 3. å®šæœŸè½®è¯¢ç¤ºä¾‹
```c
void app_task(void *pvParameters)
{
    GPS_Init();
    // ...其他初始化
    while (1)
    {
        GPS_Poll();  // è‡ªåŠ¨æŽ¥æ”¶å¹¶è§£æžæ•°æ®
        // å®šæœŸè¯»å–解析结果
        ST_GPRMI gprmi;
        if (GPS_GetGPRMI(&gprmi) == HIDO_OK) {
            // å¤„理定位数据
        }
        // ...其他处理
    }
}
```
## å·¥ä½œæµç¨‹
1. **数据接收**: GPS模块通过UART2发送数据
2. **状态机识别**: `GPS_RecvFsm()`识别$GPRMI或$GPIMU头
3. **数据缓存**: æŽ¥æ”¶å®Œæ•´å¥å­ï¼ˆç›´åˆ°\r\n)
4. **格式解析**: è°ƒç”¨å¯¹åº”解析函数
5. **数据校验**: éªŒè¯æ ¡éªŒå’Œï¼ˆGPRMI使用*号校验,GPIMU使用异或)
6. **存储更新**: æ›´æ–°é™æ€å˜é‡`l_stGPRMI`或`l_stGPIMU`
7. **应用读取**: é€šè¿‡`GPS_GetGPRMI()`或`GPS_GetGPIMU()`获取最新数据
## æ³¨æ„äº‹é¡¹
1. **线程安全**: è§£æžå‡½æ•°åœ¨GPS_Poll()中调用,通常在单一任务中,无需加锁
2. **数据有效性**: ä½¿ç”¨`m_bValid`标志判断数据是否有效
3. **缓冲区大小**: å·²å°†æŽ¥æ”¶ç¼“冲区扩大到256字节以容纳GPRMI的长数据包
4. **校验和**: GPIMU的异或校验目前已实现但未强制验证,可根据需要启用
5. **时间格式**:
   - GPRMI: UTC时间存储为`hhmmss.ss * 100`(整数)
   - GPIMU: UTC时间存储为`hhmmss.sss * 1000`(毫秒)
## æµ‹è¯•建议
1. ä½¿ç”¨ä¸²å£å·¥å…·å‘送测试数据验证解析正确性
2. æ£€æŸ¥å®šä½è´¨é‡å­—段确保RTK固定解(值为4)
3. ç›‘测IMU数据频率和温度漂移
4. éªŒè¯å§¿æ€è§’数据与实际倾斜一致
## æ–‡ä»¶æ¸…单
- `GPS.h` - æ•°æ®ç»“构和函数声明
- `GPS.c` - è§£æžå®žçް
- `GPS_Usage_Example.c` - ä½¿ç”¨ç¤ºä¾‹å’Œè¯¦ç»†æ³¨é‡Š
## ç‰ˆæœ¬ä¿¡æ¯
- åˆ›å»ºæ—¥æœŸ: 2025å¹´11月11日
- ä½œè€…: www.hido-studio.com
- åŸºäºŽé¡¹ç›®: Lawnmower_STM32H7
STM32H743/FML/GPS_Usage_Example.c
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,182 @@
/*******************************************************************************
 * File Name         : GPS_Usage_Example.c
 * Description       : GPRMI和GPIMU数据解析使用示例
 * Created on        : 2025å¹´11月11日
 * Author            : www.hido-studio.com
 *******************************************************************************/
#include "GPS.h"
#include <stdio.h>
/*******************************************************************************
 * Function Name     : Example_ReadGPRMI
 * Description       : è¯»å–GPRMI数据示例
 * Input             : None
 * Output            : None
 * Return            : None
 *******************************************************************************/
void Example_ReadGPRMI(void)
{
    ST_GPRMI stGPRMI;
    // èŽ·å–æœ€æ–°çš„GPRMI数据
    if (GPS_GetGPRMI(&stGPRMI) == HIDO_OK)
    {
        // æ•°æ®æœ‰æ•ˆï¼Œå¯ä»¥ä½¿ç”¨
        printf("GPRMI数据:\r\n");
        printf("  UTC时间: %u (hhmmss.ss*100)\r\n", stGPRMI.m_u32UTCTime);
        printf("  å‘¨æ•°: %u\r\n", stGPRMI.m_u16WeekNumber);
        printf("  å‘¨å†…ç§’: %u ms\r\n", stGPRMI.m_u32TimeOfWeek);
        printf("  çº¬åº¦: %.8f°\r\n", stGPRMI.m_dLatitude);
        printf("  ç»åº¦: %.8f°\r\n", stGPRMI.m_dLongitude);
        printf("  é«˜ç¨‹: %.3f m\r\n", stGPRMI.m_fAltitude);
        printf("  ä¸œå‘速度: %.3f m/s\r\n", stGPRMI.m_fEastVelocity);
        printf("  åŒ—向速度: %.3f m/s\r\n", stGPRMI.m_fNorthVelocity);
        printf("  å¤©é¡¶é€Ÿåº¦: %.3f m/s\r\n", stGPRMI.m_fUpVelocity);
        printf("  å®šä½è´¨é‡: %u (0=无效,1=单点,2=差分,4=固定,5=浮点)\r\n", stGPRMI.m_u8PositionQuality);
        printf("  å¯è§å«æ˜Ÿæ•°: %u\r\n", stGPRMI.m_u8SatelliteCount);
        printf("  åŸºçº¿è·ç¦»: %.3f m\r\n", stGPRMI.m_fBaselineDistance);
    }
    else
    {
        printf("GPRMI数据无效或未接收\r\n");
    }
}
/*******************************************************************************
 * Function Name     : Example_ReadGPIMU
 * Description       : è¯»å–GPIMU数据示例
 * Input             : None
 * Output            : None
 * Return            : None
 *******************************************************************************/
void Example_ReadGPIMU(void)
{
    ST_GPIMU stGPIMU;
    // èŽ·å–æœ€æ–°çš„GPIMU数据
    if (GPS_GetGPIMU(&stGPIMU) == HIDO_OK)
    {
        // æ•°æ®æœ‰æ•ˆï¼Œå¯ä»¥ä½¿ç”¨
        printf("GPIMU数据:\r\n");
        printf("  UTC时间: %u (hhmmss.sss)\r\n", stGPIMU.m_u32UTCTime);
        printf("  X轴加速度: %.3f g\r\n", stGPIMU.m_fAccelX);
        printf("  Y轴加速度: %.3f g\r\n", stGPIMU.m_fAccelY);
        printf("  Z轴加速度: %.3f g\r\n", stGPIMU.m_fAccelZ);
        printf("  X轴角速度: %.3f Â°/s\r\n", stGPIMU.m_fGyroX);
        printf("  Y轴角速度: %.3f Â°/s\r\n", stGPIMU.m_fGyroY);
        printf("  Z轴角速度: %.3f Â°/s\r\n", stGPIMU.m_fGyroZ);
        printf("  ä¼ æ„Ÿå™¨æ¸©åº¦: %.2f â„ƒ\r\n", stGPIMU.m_fTemperature);
        printf("  æ ¡éªŒå’Œ: 0x%02X\r\n", stGPIMU.m_u8Checksum);
    }
    else
    {
        printf("GPIMU数据无效或未接收\r\n");
    }
}
/*******************************************************************************
 * Function Name     : Example_PeriodicRead
 * Description       : å®šæœŸè¯»å–GPS数据的示例(在应用层任务中调用)
 * Input             : None
 * Output            : None
 * Return            : None
 *******************************************************************************/
void Example_PeriodicRead(void)
{
    static HIDO_UINT32 lastReadTick = 0;
    HIDO_UINT32 currentTick = HIDO_TimerGetTick();
    // æ¯1000ms读取一次
    if ((currentTick - lastReadTick) >= 1000)
    {
        lastReadTick = currentTick;
        ST_GPRMI stGPRMI;
        ST_GPIMU stGPIMU;
        // è¯»å–定位数据
        if (GPS_GetGPRMI(&stGPRMI) == HIDO_OK)
        {
            // å¤„理定位数据
            // ä¾‹å¦‚:更新地图位置、计算速度等
            if (stGPRMI.m_u8PositionQuality >= 4)  // å›ºå®šè§£æˆ–浮点解
            {
                // é«˜ç²¾åº¦å®šä½å¯ç”¨
                // å¯ä»¥è¿›è¡Œç²¾ç¡®å¯¼èˆª
            }
        }
        // è¯»å–IMU数据
        if (GPS_GetGPIMU(&stGPIMU) == HIDO_OK)
        {
            // å¤„理IMU数据
            // ä¾‹å¦‚:姿态估计、运动检测等
            // è®¡ç®—总加速度
            float totalAccel = sqrt(
                stGPIMU.m_fAccelX * stGPIMU.m_fAccelX +
                stGPIMU.m_fAccelY * stGPIMU.m_fAccelY +
                stGPIMU.m_fAccelZ * stGPIMU.m_fAccelZ
            );
            // æ£€æµ‹è®¾å¤‡æ˜¯å¦åœ¨è¿åЍ
            if (totalAccel > 1.1f || totalAccel < 0.9f)  // ä¸åœ¨é™æ­¢çŠ¶æ€
            {
                // è®¾å¤‡æ­£åœ¨è¿åЍ
            }
        }
    }
}
/*******************************************************************************
 * æ•°æ®æ ¼å¼è¯´æ˜Ž
 *******************************************************************************
 *
 * (1) GPRMI - GPS/INS组合定位数据
 * æ ¼å¼: $GPRMI,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>,<18>,<19>,<20>,<21>,<22>,<23>*<校验和><CR><LF>
 *
 * å­—段说明:
 * <1>  UTC时间, æ ¼å¼ä¸º hhmmss.ss
 * <2>  Week number, å‘¨æ•°
 * <3>  Time of week, å‘¨å†…ç§’, æ ¼å¼ä¸º ss.mmm
 * <4>  çº¬åº¦(°), æ­£æ•°ä¸ºåŒ—纬
 * <5>  ç»åº¦(°), æ­£æ•°ä¸ºè¥¿ç»
 * <6>  é«˜ç¨‹(m)
 * <7>  çº¬åº¦æ ‡å‡†å·®(m)
 * <8>  ç»åº¦æ ‡å‡†å·®(m)
 * <9>  é«˜ç¨‹æ ‡å‡†å·®(m)
 * <10> ä¸œæ–¹å‘上的速度(m/s)
 * <11> åŒ—方向上的速度(m/s)
 * <12> å¤©é¡¶æ–¹å‘的速度(m/s)
 * <13> æ°´å¹³é€Ÿåº¦æ ‡å‡†å·®(m/s)
 * <14> ä¿¯ä»°è§’(°)
 * <15> ä¾§å€¾è§’(°)
 * <16> ç¿»æ»šè§’(°)
 * <17> ä¿¯ä»°è§’标准差(°)
 * <18> ä¾§å€¾è§’标准差(°)
 * <19> ç¿»æ»šè§’标准差(°)
 * <20> åŸºçº¿è·ç¦»(m)
 * <21> å¤©çº¿å¯è§å«æ˜Ÿæ•°é‡
 * <22> è½½æ³¢æ•´å‘¨å›ºå®šæ¨¡ç³Šå€¼ä¸ªæ•°
 * <23> å®šä½è´¨é‡æŒ‡ç¤º: 0=无效, 1=单点, 2=差分, 4=固定, 5=浮点, 6=惯导
 *
 *
 * (2) GPIMU - IMU传感器数据
 * æ ¼å¼: $GPIMU,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>*<CR><LF>
 *
 * å­—段说明:
 * <1> UTC时间, æ ¼å¼ä¸º hhmmss.sss
 * <2> x轴加速度(g)
 * <3> y轴加速度(g)
 * <4> z轴加速度(g)
 * <5> é™€èžºx轴角速度(°/s)
 * <6> é™€èžºy轴角速度(°/s)
 * <7> é™€èžºz轴角速度(°/s)
 * <8> ä¼ æ„Ÿå™¨æ¸©åº¦(℃)
 * <9> å¼‚或校验和
 *
 * ç¤ºä¾‹æ•°æ®:
 * $GPIMU, 054752.002, 0.000, 0.007, -1.032, -0.003, 0.053, -0.016,26.00@59
 *
 *******************************************************************************/
STM32H743/FML/Internet/Module/EG800/EG800FSM.c
@@ -603,8 +603,8 @@
            {"AT+GSN\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK},
            {"AT+CIMI\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK},
            {"AT+CCID\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK},
            {"AT+QTTSETUP=1,1," TTS_SPEED "\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK},
            {"AT+QTTSETUP=1,2," TTS_VOLUME "\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK},
//            {"AT+QTTSETUP=1,1," TTS_SPEED "\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK},
//            {"AT+QTTSETUP=1,2," TTS_VOLUME "\r\n", AT_GENERAL_TIMEOUT_TIME, AT_CMD_RESULT_OK},
        };
    HIDO_ATLiteDeviceStruct *pstATDevice = (HIDO_ATLiteDeviceStruct *)_pstFSM->m_pPrivateData;
@@ -1220,11 +1220,13 @@
HIDO_FSM_STATE_IMPLEMENT(EG800IPPoll, HIDO_FSM_STATE(EG800IPReady), HIDO_NULL)
{
    HIDO_ATLiteDeviceStruct *pstATDevice = (HIDO_ATLiteDeviceStruct *)_pstFSM->m_pPrivateData;
    HIDO_UINT32 u32FSMTimerID = ((ST_EG800DriverData *)pstATDevice->m_pUserData)->m_u32FSMTimerID;
    switch (_u32Event)
    {
    case HIDO_EVENT_ENTRY:
    {
        HIDO_FSMStartTimer(u32FSMTimerID, HIDO_TIMER_TYPE_ONCE, HIDO_TIMER_TICK_MS(0), _pstFSM, EG800_EVENT_POLL);
        break;
    }
    case HIDO_EVENT_EXIT:
STM32H743/FML/Internet/Socket.c
@@ -696,6 +696,8 @@
    memcpy(pstMember->m_pDataAddr, _pu8Data, _u32DataLen);
    HIDO_VLQEnqueue(&pstSocketData->m_stSendQueue, pstMember); /* å…¥é˜Ÿ */
    app_trigger();
    return HIDO_OK;
}
STM32H743/FML/bluetooth.c
@@ -161,7 +161,7 @@
{
    HIDO_UINT8 u8RecvChar = 0;
    DBG_SerialPutString("AT+ROLE\r\n");
//    DBG_SerialPutString("AT+ROLE\r\n");
     while (Uart_GetChar(UART_ID_BT, &u8RecvChar) == HIDO_OK)
    {
        BTUsartParseDataHandler(u8RecvChar);
@@ -174,7 +174,7 @@
                   memset(bt_buffer, 0, 50);    
                bt_state = BT_STATE_IDLE;
                g_bt_configured=1;
                DBG_SerialPutString(" AT+REST\r\n");//退出指令并进入透传模式
//                DBG_SerialPutString(" AT+REST\r\n");//退出指令并进入透传模式
                return BT_CONFIG_SUCCESS;
               }
        }
@@ -211,7 +211,7 @@
{
    HIDO_UINT8 u8RecvChar = 0;
    DBG_SerialPutString("AT+CONN\r\n");
//    DBG_SerialPutString("AT+CONN\r\n");
     while (Uart_GetChar(UART_ID_BT, &u8RecvChar) == HIDO_OK)
    {
        BTUsartParseDataHandler(u8RecvChar);
@@ -321,7 +321,7 @@
  #if 0
  else if(0==g_com_map[BT_SLAVE_STATUS])
       {
       DBG_SerialPutString("AT+ENAT\r\n");
//       DBG_SerialPutString("AT+ENAT\r\n");
       //delay_ms(10);
       DBG_SerialPutString("AT+SLAV\r\n");
       g_com_map[BT_SLAVE_STATUS]=1;
STM32H743/MDK-ARM/RTE/_STM32H743/RTE_Components.h
@@ -11,11 +11,5 @@
#define RTE_COMPONENTS_H
/*
 * Define the Device Header File:
 */
#define CMSIS_device_header "stm32h7xx.h"
#endif /* RTE_COMPONENTS_H */
STM32H743/MDK-ARM/STM32H743.uvoptx
@@ -103,7 +103,7 @@
        <bEvRecOn>1</bEvRecOn>
        <bSchkAxf>0</bSchkAxf>
        <bTchkAxf>0</bTchkAxf>
        <nTsel>4</nTsel>
        <nTsel>3</nTsel>
        <sDll></sDll>
        <sDllPa></sDllPa>
        <sDlgDll></sDlgDll>
@@ -114,9 +114,14 @@
        <tDlgDll></tDlgDll>
        <tDlgPa></tDlgPa>
        <tIfile></tIfile>
        <pMon>Segger\JL2CM3.dll</pMon>
        <pMon>BIN\CMSIS_AGDI.dll</pMon>
      </DebugOpt>
      <TargetDriverDllRegistry>
        <SetRegEntry>
          <Number>0</Number>
          <Key>CMSIS_AGDI</Key>
          <Name>-X"Any" -UAny -O206 -S10 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(6BA02477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC8000 -FN1 -FF0STM32H7x_2048.FLM -FS08000000 -FL0200000 -FP0($$Device:STM32H743VITx$CMSIS\Flash\STM32H7x_2048.FLM)</Name>
        </SetRegEntry>
        <SetRegEntry>
          <Number>0</Number>
          <Key>DLGUARM</Key>
@@ -153,24 +158,7 @@
          <Name>-U31002400110000344351534E -O2254 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(6BA02477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32H7x_2048.FLM -FS08000000 -FL0200000 -FP0($$Device:STM32H743VITx$CMSIS\Flash\STM32H7x_2048.FLM)</Name>
        </SetRegEntry>
      </TargetDriverDllRegistry>
      <Breakpoint>
        <Bp>
          <Number>0</Number>
          <Type>0</Type>
          <LineNumber>310</LineNumber>
          <EnabledFlag>1</EnabledFlag>
          <Address>134490710</Address>
          <ByteObject>0</ByteObject>
          <HtxType>0</HtxType>
          <ManyObjects>0</ManyObjects>
          <SizeOfObject>0</SizeOfObject>
          <BreakByAccess>0</BreakByAccess>
          <BreakIfRCount>1</BreakIfRCount>
          <Filename>..\FML\bluetooth.c</Filename>
          <ExecCommand></ExecCommand>
          <Expression>\\STM32H743\../FML/bluetooth.c\310</Expression>
        </Bp>
      </Breakpoint>
      <Breakpoint/>
      <WatchWindow1>
        <Ww>
          <count>0</count>
@@ -206,8 +194,8 @@
      <MemoryWindow1>
        <Mm>
          <WinNumber>1</WinNumber>
          <SubType>0</SubType>
          <ItemText>0x8040000</ItemText>
          <SubType>8</SubType>
          <ItemText>l_au8EG800UartRxBuf</ItemText>
          <AccSizeX>0</AccSizeX>
        </Mm>
      </MemoryWindow1>
@@ -217,7 +205,7 @@
      <DebugFlag>
        <trace>0</trace>
        <periodic>1</periodic>
        <aLwin>1</aLwin>
        <aLwin>0</aLwin>
        <aCover>0</aCover>
        <aSer1>0</aSer1>
        <aSer2>0</aSer2>
@@ -255,11 +243,7 @@
      <pMultCmdsp></pMultCmdsp>
      <SystemViewers>
        <Entry>
          <Name>System Viewer\Flash</Name>
          <WinId>35904</WinId>
        </Entry>
        <Entry>
          <Name>System Viewer\USART1</Name>
          <Name>System Viewer\USART3</Name>
          <WinId>35905</WinId>
        </Entry>
      </SystemViewers>
@@ -268,7 +252,7 @@
        <EnableFlashSeq>0</EnableFlashSeq>
        <EnableLog>0</EnableLog>
        <Protocol>2</Protocol>
        <DbgClock>4000000</DbgClock>
        <DbgClock>2000000</DbgClock>
      </DebugDescription>
    </TargetOption>
  </Target>
@@ -295,7 +279,7 @@
  <Group>
    <GroupName>Application/User/Core</GroupName>
    <tvExp>0</tvExp>
    <tvExp>1</tvExp>
    <tvExpOptDlg>0</tvExpOptDlg>
    <cbSel>0</cbSel>
    <RteFlg>0</RteFlg>
STM32H743/MDK-ARM/STM32H743.uvprojx
@@ -16,8 +16,8 @@
        <TargetCommonOption>
          <Device>STM32H743VITx</Device>
          <Vendor>STMicroelectronics</Vendor>
          <PackID>Keil.STM32H7xx_DFP.2.7.0</PackID>
          <PackURL>http://www.keil.com/pack/</PackURL>
          <PackID>Keil.STM32H7xx_DFP.4.1.3</PackID>
          <PackURL>https://www.keil.com/pack/</PackURL>
          <Cpu>IRAM(0x20000000-0x2001FFFF) IRAM2(0x24000000-0x2407FFFF) IROM(0x8000000-0x81FFFFF) CLOCK(12000000) FPU3(DFPU) CPUTYPE("Cortex-M7") ELITTLE TZ</Cpu>
          <FlashUtilSpec></FlashUtilSpec>
          <StartupFile></StartupFile>
@@ -313,7 +313,7 @@
          </ArmAdsMisc>
          <Cads>
            <interw>1</interw>
            <Optim>4</Optim>
            <Optim>1</Optim>
            <oTime>0</oTime>
            <SplitLS>0</SplitLS>
            <OneElfS>1</OneElfS>
STM32H743/MDK-ARM/STM32H743/ExtDll.iex
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/STM32H743.axf
Binary files differ
STM32H743/MDK-ARM/STM32H743/STM32H743.build_log.htm
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/STM32H743.hex
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/STM32H743.htm
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/STM32H743.lnp
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/STM32H743.map
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/STM32H743.sct
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/STM32H743_STM32H743.dep
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/app.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/app.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/app.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/bluetooth.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/bluetooth.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/bluetooth.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/cmsis_os2.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/cmsis_os2.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/cmsis_os2.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/croutine.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/croutine.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/croutine.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/dbg.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/dbg.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/dbg.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/eg800csq.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/eg800csq.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/eg800csq.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/eg800driver.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/eg800driver.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/eg800driver.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/eg800fsm.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/eg800fsm.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/eg800fsm.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/eg800socket.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/eg800socket.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/eg800socket.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/event_groups.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/event_groups.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/event_groups.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/freertos.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/freertos.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/freertos.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/global_param.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/global_param.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/global_param.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/gps.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/gps.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/gps.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/heap_4.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/heap_4.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/heap_4.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/internet.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/internet.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/internet.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/list.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/list.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/list.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/main.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/main.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/main.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/mcuflash.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/mcuflash.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/mcuflash.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/module.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/module.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/module.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/ntripapp.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/ntripapp.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/ntripapp.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/ntripclient.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/ntripclient.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/ntripclient.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/port.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/port.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/port.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/pwm_ctrol.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/pwm_ctrol.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/pwm_ctrol.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/queue.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/queue.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/queue.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/socket.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/socket.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/socket.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/startup_stm32h743xx.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/startup_stm32h743xx.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_cortex.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_cortex.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_cortex.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_dma.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_dma.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_dma.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_dma_ex.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_dma_ex.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_dma_ex.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_exti.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_exti.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_exti.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_flash.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_flash.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_flash.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_flash_ex.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_flash_ex.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_flash_ex.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_gpio.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_gpio.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_gpio.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_hsem.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_hsem.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_hsem.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_i2c.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_i2c.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_i2c.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_i2c_ex.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_i2c_ex.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_i2c_ex.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_mdma.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_mdma.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_mdma.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_msp.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_msp.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_msp.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_pwr.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_pwr.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_pwr.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_pwr_ex.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_pwr_ex.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_pwr_ex.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_rcc.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_rcc.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_rcc.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_rcc_ex.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_rcc_ex.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_rcc_ex.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_tim.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_tim.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_tim.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_tim_ex.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_tim_ex.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_tim_ex.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_timebase_tim.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_timebase_tim.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_timebase_tim.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_uart.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_uart.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_uart.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_uart_ex.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_uart_ex.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_hal_uart_ex.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_it.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stm32h7xx_it.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stm32h7xx_it.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/stream_buffer.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/stream_buffer.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/stream_buffer.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/system_stm32h7xx.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/system_stm32h7xx.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/system_stm32h7xx.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/tasks.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/tasks.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/tasks.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/timers.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/timers.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/timers.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/uart.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/uart.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/uart.o
Binary files differ
STM32H743/MDK-ARM/STM32H743/udpclient.crf
Binary files differ
STM32H743/MDK-ARM/STM32H743/udpclient.d
ÎļþÒÑɾ³ý
STM32H743/MDK-ARM/STM32H743/udpclient.o
Binary files differ
STM32H743/MDK-ARM/startup_stm32h743xx.lst
@@ -1284,12 +1284,10 @@
x_HAL_Driver/Inc/Legacy -I../Middlewares/Third_Party/FreeRTOS/Source/include -I
../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I../Middlewares/Third
_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I../Drivers/CMSIS/Device/ST/STM3
2H7xx/Include -I../Drivers/CMSIS/Include -I.\RTE\_STM32H743 -IC:\Users\HXZK\App
Data\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Users\HXZK\AppData
\Local\Arm\Packs\Keil\STM32H7xx_DFP\2.7.0\Drivers\CMSIS\Device\ST\STM32H7xx\Inc
lude --predefine="__UVISION_VERSION SETA 530" --predefine="_RTE_ SETA 1" --pred
efine="STM32H743xx SETA 1" --predefine="_RTE_ SETA 1" --list=startup_stm32h743x
x.lst startup_stm32h743xx.s
2H7xx/Include -I../Drivers/CMSIS/Include -I.\RTE\_STM32H743 -ID:\Users\zhyin\Ap
pData\Local\Arm\Packs\ARM\CMSIS\5.8.0\CMSIS\Core\Include --predefine="__UVISION
_VERSION SETA 530" --predefine="_RTE_ SETA 1" --predefine="STM32H743xx SETA 1"
--predefine="_RTE_ SETA 1" --list=startup_stm32h743xx.lst startup_stm32h743xx.s