2021-08-11 19:35:51 索煒達(dá)電子 1305
項(xiàng)目編號:E18
文件大?。?.17M
源碼說明:帶中文注釋
開發(fā)環(huán)境:Keil5
簡要概述:
一個簡單的滑軌機(jī)器人程序, 適合初學(xué)者, 只是給出了大致的架構(gòu), 只包括上位機(jī)與機(jī)器人通信(WinForm->LwIP棧->步進(jìn)電機(jī)),板子用的stm32F4
// 文件架構(gòu):
// CORE 存儲官網(wǎng)固件庫中CMSIS文件夾的內(nèi)容,其實(shí)就是一些內(nèi)核匯編文件 -- Device 包含微控制器的啟動代碼以及專用系統(tǒng)文件 -- Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f407xx.s 該芯片對應(yīng)的啟動文件 -- DSP 數(shù)字信號處理庫,官網(wǎng)提供一些源代碼 -- Include Cortex_M 內(nèi)核匯編文件以及設(shè)備文件
// STM32F4xx_HAL_Driver HAL接口函數(shù)庫文件 -- Inc HAL庫頭文件 -- Src HAL庫源文件 -- stm32f4xx_hal_msp_template.c 一般不會添加到工程里,都是些空函數(shù),沒卵用 -- stm32f4xx_hal_timebase_rtc_alarm_template.c 不添加,會沖突 -- stm32f4xx_hal_timebase_rtc_wakeup_template.c 不添加,會沖突 -- stm32f4xx_hal_timebase_tim_template.c 不添加,會沖突
// SYSTEM 存放自己寫的關(guān)于系統(tǒng)時鐘,操作系統(tǒng)的一些配置源文件 -- sys/system_stm32f4xx.c 定義了系統(tǒng)初始化函數(shù)SystemInit以及系統(tǒng)時鐘更新函數(shù)等
// USER 包含工程文件、主函數(shù)、一些比較重要的*.c和*.h文件,例如,stm32f4xx_it.h
// OBJ 存放編譯過程中的中間文件與可執(zhí)行文件,之前這些文件默認(rèn)存儲在Listing和Objects文件夾
// HARDWARE 存放自己寫的外設(shè)相關(guān)的頭文件與源文件
// C/C++選項(xiàng)卡中,定義預(yù)處理符號:USE_HAL_DRIVER,STM32F407xx -- ..\CORE\Include -- ..\STM32F4xx_HAL_Driver\Inc -- ..\CORE\Device\ST\STM32F4xx\Include 這是三個關(guān)于系統(tǒng)的頭文件文件夾
// HGRobotApp 上位機(jī)程序(WinForm, C#)
運(yùn)行界面:
文件列表:
目錄│文件列表:
└ 4StepperMotorsDriveBySTM32F103x-HGRobotSimpleDemo
│ HGRobotApp.png
│ 說明.txt
├ CORE
│ ├ Device
│ │ └ ST
│ │ └ STM32F4xx
│ │ │ Release_Notes.html
│ │ ├ Include
│ │ │ │ stm32f401xc.h
│ │ │ │ stm32f401xe.h
│ │ │ │ stm32f405xx.h
│ │ │ │ stm32f407xx.h
│ │ │ │ stm32f410cx.h
│ │ │ arm_rfft_q15.c
│ │ └ arm_rfft_q31.c
│ └ Include
│ │ cmsis_armcc.h
│ │ cmsis_armclang.h
│ │ cmsis_compiler.h
│ │ cmsis_gcc.h
│ │ cmsis_iccarm.h
│ │ cmsis_version.h
│ │ core_armv8mbl.h
│ │ core_armv8mml.h
│ │ core_cm0.h
│ │ core_cm0plus.h
│ │ core_cm1.h
│ │ core_cm23.h
│ │ core_cm3.h
│ │ core_cm33.h
│ │ core_cm4.h
│ │ core_cm7.h
│ │ core_sc000.h
│ │ core_sc300.h
│ │ mpu_armv7.h
│ │ mpu_armv8.h
│ └ tz_context.h
├ HARDWARE
│ ├ ETH
│ │ │ app_ethernet.c
│ │ │ app_ethernet.h
│ │ │ ethernetif.c
│ │ │ ethernetif.h
│ │ │ lwipopts.h
│ │ │ tcp_echoserver.c
│ │ └ tcp_echoserver.h
│ └ MOTOR
│ │ motor.c
│ │ motor.h
│ │ motor_ctrl.c
│ │ motor_ctrl.h
│ │ motor_ioinit.c
│ └ motor_ioinit.h
├ HGRobotApp
│ │ App.config
│ │ CHCNetSDK.cs
│ │ HDApp.cs
│ │ HDApp.Designer.cs
│ │ HDApp.resx
│ │ HGRobotApp.csproj
│ │ HGRobotApp.sln
│ │ Program.cs
│ └ Properties
│ │ AssemblyInfo.cs
│ │ Resources.Designer.cs
│ │ Resources.resx
│ │ Settings.Designer.cs
│ └ Settings.settings
├ STM32F4xx_HAL_Driver
│ ├ Inc
│ │ │ stm32f4xx_hal.h
│ │ │ stm32f4xx_hal_adc.h
│ │ └ Legacy
│ │ │ stm32f4xx_hal_can_legacy.h
│ │ └ stm32_hal_legacy.h
│ └ Src
│ │ stm32f4xx_ll_utils.c
│ └ Legacy
│ └ stm32f4xx_hal_can.c
├ SYSTEM
│ ├ Middlewares
│ │ └ LwIP
│ │ ├ src
│ │ │ ├ api
│ │ │ │ │ api_lib.c
│ │ │ │ │ api_msg.c
│ │ │ │ │ err.c
│ │ │ │ │ netbuf.c
│ │ │ │ │ netdb.c
│ │ │ │ │ netifapi.c
│ │ │ │ │ sockets.c
│ │ │ │ └ tcpip.c
│ │ │ ├ core
│ │ │ │ │ def.c
│ │ └ system
│ │ └ arch
│ │ │ bpstruct.h
│ │ │ cc.h
│ │ │ cpu.h
│ │ │ epstruct.h
│ │ │ init.h
│ │ │ lib.h
│ │ │ perf.h
│ │ └ sys_arch.h
│ ├ sys
│ │ └ system_stm32f4xx.c
│ └ usart
│ │ bsp_debug_usart.c
│ └ bsp_debug_usart.h
└ USER
│ HGRobot.uvguix.Seven
│ HGRobot.uvoptx
│ HGRobot.uvprojx
│ main.c
│ main.h
│ stm32f4xx_assert.c
│ stm32f4xx_hal_conf.h
│ stm32f4xx_hal_conf.h~RF6dc7b2.TMP
│ stm32f4xx_hal_msp.c
│ stm32f4xx_it.c
│ stm32f4xx_it.h
└ DebugConfig
└ Target_1_STM32F407IGTx.dbgconf