这半年有幸得到了一些资金支持,决定尝试用 大疆 的配件做一些有意义的东西。但是真正开始 使用 的时候却遇到了很多问题, 大疆 的产品从硬件到软件方面都有很多让人迷惑的行为,而同时网上的参考资料也很少,这些都让我在前期 使用 的时候摸不着头脑。后期虽然这些问题都得到了解决,但也浪费了大量时间。于是打算把我们 使用 的经历和相关代码做一个分享,以便后续其他人的 使用 。如有错误,希望指正。 一. 硬件部分介绍: 这里我 使用 的是 大疆 提供的 A型 开发板 使用 大疆 产品有个缺点便是 大疆 的接口都是配套产品而非通用产品,一旦 使用 大疆 的产 芯片型号 STM32 F427IIH6,现在控制芯片和控制方式都清楚了,接下来按照说明手册接好线后就可以开始配置 STM32 CubeMX, 大疆 开发板 A型 ,M3508直流无刷电机,配置 STM32 CubeMX, HAL库 ,keil5MDK,C620电调,PID控制,CAN驱动,调参工具, STM32 CubeMonitor,STMStudio,如果对你有帮助,谢谢你的点赞支持! DR16 接收机输出的信号为标准的DBUS协议数据,当 遥控器 与接收机建立连接 后,接收机每隔14ms通过DBUS发送一帧18字节数据。数据内容包括左右两个摇杆的数据,左右上角的两个开关拨杆,以及左侧上方的云台俯仰控制拨轮。 大疆 开发板 A 是一款高性能、低功耗的嵌入式开发平台,特别适用于机器人与自动化控制系统的开发。高性能处理器:搭载 ARM Cortex-M 系列处理器,提供强大的计算能力。丰富的接口:包括 I2C、SPI、UART 等多种通信接口,方便与各种传感器和外设连接。易于上手:提供了完善的开发环境和丰富的库函数,适合不同层次的开发者 使用 。强大的社区支持:拥有大量的开发者社区资源,可以获取丰富的开发经验和技术支持。我们将 使用 超声波传感器(如 HC-SR04)检测障碍物,并通过电机控制实现机器人的避障功能。 一. DMA 直接存储器访问(Direct Memory Access,DMA),当需要将外部设备发来的数据存储在存储器中时,如果不 使用 DMA方式则首先需要将外部设备数据先读入CPU中,再由CPU将数据存储到存储器中,如果数据量很大的话,那么将会占用大量的CPU时间,而通过 使用 DMA控制器直接将外部设备数据送入存储器,不需要占用CPU。 STM32 中的许多通讯如USART,SPI,IIC都支持DMA方式进行数据的收发。 二. DBUS协议 遥控器 stm32 之间采用DBUS协议进行通讯。DBUS通讯协议和串口 void RemoteDataProcess(uint8_t *pData) RC_CtrlData.rc.ch0 = ((int16_t)pData[0] | ((int16_t)pData[1] << 8)) & 0x07FF; RC_CtrlData.rc.ch1 = (((int16_t)pData[1] &gt 本文主要目的是为了制作 Robo Master 比赛能量机关的灯条控制,模拟比赛场中大符,搭建出类似场地道具,以供视觉测试 使用 的是 Robo Master 开发板 A型 ,芯片为 STM32 F427IIH6, 使用 的灯条为WS2812B。 采用PWM+DMA控制, 使用 CUBEMX配置底层,keil5编辑烧录代码 实现:一共五片扇叶,每片扇叶均实现流水灯+常亮颜色 参考文章在后面会标记出来