长春网站制作顾问花店网站建设毕设介绍
- 作者: 五速梦信息网
- 时间: 2026年04月20日 05:10
当前位置: 首页 > news >正文
长春网站制作顾问,花店网站建设毕设介绍,怀来县网站建设,兰州迅豹网络通过之前章节对PH47体系的介绍#xff0c;读者对PH47能建立起了初步的概念及掌握各主要构成部分的使用开发方法。从本章节开始#xff0c;就将对PH47代码的二次开发内容进行具体讲述。 本部分就将对PH47框架当中代码文件的组织方式及功能作用进行介绍#xff0c;对于将来熟…通过之前章节对PH47体系的介绍读者对PH47能建立起了初步的概念及掌握各主要构成部分的使用开发方法。从本章节开始就将对PH47代码的二次开发内容进行具体讲述。 本部分就将对PH47框架当中代码文件的组织方式及功能作用进行介绍对于将来熟练使用代码框架进行二次开发具有重要的意义。 PH47代码框架重要文件夹及文件 PH47文件夹包含了代码框架的所有代码文件以及由Stm32CubeMx生成的控制板代码框架。此文件夹下DevStudio文件夹内为框架的核心代码。 BBPBBP_Copter BBDB均为Stm32CubeMx生成对应各自控制板工程框架的代码文件夹以下均以XXX来代替。 各控制板Keil项目文件PH47\xxx\MDK-ARM\xxx.uvprojx PH7 代码适用控制板的keil项目文件位于PH47\xxx\MDK-ARM\文件夹下文件名为xxx.uvprojx。xxx对应控制板名称即BBP、BBP_Copter、BBDB等。上述项目文件由Stm32CubeMx生成硬件代码框架时生成。 各控制板Visual Studio项目文件\PH47\xxx\xxx.sln Visaual Studio 项目文件在Visual Studio IDE进行代码编辑管理时控制板相关代码文件组织度好于VS Code 文件夹 PH47\DevStudio PH7 代码框架所有源代码文件及库文件均位于DevStudio文件夹中。此文件夹同时是用户进行二次开发的主要文件夹。框架自身代码文件及用户二次开发代码文件均位于本文件夹中。 控制板配置文件PH47\DevStudio\BoardConfig\BoardConfig.h PH7框架的各控制板项目PH4, BBP, BBP_Copter等编译开关配置文件为 \DevStudio\BoardConfig\BoardConfig.h。该文件确定了控制板的硬件类别以及固件类别。同时设定了PH47框架最基本的一些数值。 在打开 xxx.uvprojx 文件进行keil项目编译之前必须将 BoardConfig.h 文件中设置飞控板类型的 BOARD_TYPE以及固件类型FIRM_WARE_TYPE。 例如要编译适用于BBP控制板BBP v2BBP mini固件项目为多传感器基础开发平台的BBDB那么就需要进行如下设定 #define BOARD_TYPEBOARD_BBP #define FIRM_WARE_TYPEFIRMWARE_BBDB控制板ID宏定义位于PH47\DevStudio\ConfigConstant.h文件中。 文件夹DevStudio下各文件夹功能 DevStudio文件夹下各子文件夹分别对应的逻辑层、引用对象、实现文件如下表所示 文件夹实现的逻辑层全局引用对象实现文件\BSP驱动层 Driverdrv或mcuDriver.cpp(.h)McuDev(.h)\Frame框架层 FrameFrm或coreFrame.cpp(.h)\Algorithms算法层 AlgorithmsalgoAlgorithms.cpp(.h)\Application应用层 ApplicationappApp_BBP.cpp(.h)\BoardConfig飞控板配置—-BoardConfig.h PH47代码框架各逻辑层介绍 PH7代码框架在由Stm32CubeMx自动生成的硬件代码基础上由底向上构建了4个逻辑层分别为驱动层 driver、框架层 frame、算法层 algorithms、应用层 application。 drv(mcu)、frm(core)、algo、app 4个全局引用分别对应以上4个逻辑层。通过这些引用用户可在整个PH7代码框架范围内调用各逻辑层的功能。 硬件驱动层引用对象drv及mcu 硬件驱动层driver用于实现对控制板硬件设备的驱动及管理。驱动层下包含多个指向硬件设备驱动对象的指针。通过这些指针用户可对硬件设备进行数据读写、设备控制等多种功能。 驱动层代码对用户开放高级用户可通过创建指向不同类型设备驱动类的指针实现支持设备类型的扩展。或对已有硬件设备进行替换。 驱动层外设驱动引用对象drv下的个外设模块指针介绍如下在\DevStudio\Bsp\Driver.h文件中声明 drv._pImu// 6轴(Gyro,Accel) IMU对象指针 drv._pMag// 磁强计对象指针 drv._pGps// GPS 对象指针 drv._pAirSpeed // 空速计对象指针 drv._pFlash// Flash存储器对象指针 drv._pEeprom// EEProm存储器对象指针 drv._pUsartTele// 遥测通讯串口对象指针 drv._pUsartGps// GPS通讯窗口指针 drv._pUsartConsole // 调试串口控制台串口指针 drv._pPwm // PWM in 对象指针 drv._pMutiDof// 10dof 传感器对象指针可选 驱动层MCU驱动引用对象mcu下的指针介绍在\DevStudio\Bsp\Driver.h文件中声明 CTimer_Port_pSysTimer;// 系统定时器对象指针 CI2C_pI2C_1;// I2C 1 接口对象指针 CSpi_Port_pSpiImu;// IMU SPI 接口对象指针 CSpi_Port_pSpiAdcImu;// IMU ADC 的SPI 接口对象指针(PH7) CSpi_Port*_pSpiFlash;// Flash SPI 接口对象指针 框架层引用对象frm 及 core: 框架层frame是PH47代码框架最重要的逻辑层之一框架层顾名思义为整个PH47代码体系建立了运行逻辑的框架框架层负责整个框架的运行调度及包括参数系统、遥测通讯系统等重要的基础功能实现。 框架层下包含多个实现不同功能的次级引用通过这些次级引用用户可使用它们提供的功能函数。重要的次级引用对象如 frm.log// 机载数据记录系统引用对象 frm.mutipilot// 多飞控板板协作控制引用对象 core.para// 机载控制参数系统引用对象 core.wp// 航点记录系统引用对象 core.mavlink// 对地面站(GCS)数据通讯系统引用对象 core.airlink// 多飞控板通讯系统引用对象 框架层功能函数可通过frm或core引用对象来使用它们的区别在于开源代码部分可以同时使用frm或core引用对应的功能函数。而在闭源代码部分只能通过core来引用相应的功能函数。框架层功能代码小部分向用户开放。 算法层引用对象algo: 算法层Algorithms用于飞控各种控制算法的实现如基础数学库、姿态控制器、高度——速度控制器、输入控制器、状态控制器等的具体实现。算法层下包含多个指向不同控制器对象的指针。高级用户可通过创建指向不同控制器的指针实现控制器功能的拓展或控制器的替换。关于算法层下对象或指针的详细介绍参见 应用层引用对象app 应用层Application用于对PH47代码框架的最终逻辑功能实现。用户对飞控或其他控制对象的逻辑应用控制功能均位于该层。用户的二次开发工作的主要代码实现也位于该层。 应用层引用对象app主要面向用户二次开发方便用户使用应用层的各种功能函数。 数据总线系统引用bus 数据总线引用bus是PH7框架中最重要和常用的引用之一通过bus引用户可以在整个PH7框架内进行数据的交换传输。关于bus引用的详细介绍参见“11.PH47代码框架数据总线系统”。 消息循环系统引用msg 功能测试系统引用test 用户二次开发涉及主要文件 文件DevStudio\Application\App_xxx.cpp(.h) 应用层实现文件用可在该文件中实现自己的各种运行及控制逻辑。是用户二次开发工作的主要代码承载文件。 文件DevStudio\BoardConfig\Board_xxx\DataBus_BBP_xxx.cpp(.h) 数据总线定义文件用户可在已有数据总线条目设置的基础上进行追加定制方法具体可见“数据总线使用”。 文件DevStudio\BoardConfig\Board_xxx\ParamDict_xxx.cpp(.h) 参数属性字典及参数定义文件用户在这两个文件中可对参数系统进行定制定制方法具体可见“参数系统使用” 文件PH47\DevStudio\Algorithms\Algorithms.cpp(.h) 算法层实现文件用户可增加新的算法或控制器模块或替换原有模块。 文件DevStudio\Bsp\Driver.cpp(.h) 驱动层实现文件用户可增加新的硬件驱动或替换原有驱动模块。 更多内容见CSDN博客专栏无人机飞控https://blog.csdn.net/ss15/category_9690939.html?spm1001.2014.3001.5482 相关资源PH47: PH47运动控制代码框架.https://gitee.com/ss15/ph47
- 上一篇: 长春网站优化实战网上公司注册
- 下一篇: 长春网站制作可选源晟4比较开放的浏览器
相关文章
-
长春网站优化实战网上公司注册
长春网站优化实战网上公司注册
- 技术栈
- 2026年04月20日
-
长春网站推广优化注册城乡规划师一年能挂多少钱
长春网站推广优化注册城乡规划师一年能挂多少钱
- 技术栈
- 2026年04月20日
-
长春网站推广优化公司哪家好app定制开发公司哪家比较好
长春网站推广优化公司哪家好app定制开发公司哪家比较好
- 技术栈
- 2026年04月20日
-
长春网站制作可选源晟4比较开放的浏览器
长春网站制作可选源晟4比较开放的浏览器
- 技术栈
- 2026年04月20日
-
长春小学网站建设网站建设后帐号密码
长春小学网站建设网站建设后帐号密码
- 技术栈
- 2026年04月20日
-
长春行业网站站长爱it
长春行业网站站长爱it
- 技术栈
- 2026年04月20日
