
MCU
文章平均质量分 60
AntigravityCC
anti-gravity
展开
-
创建驱动CH340的USB HOST 设备
创建驱动CH340的USB HOST 设备 ch340 usb转串口芯片如今使用十分广泛,最常用的方式是ch340转串口的从设备与电脑的usb主机进行连接。但我们可能也会遇到另一端不是电脑,而是自己的一台设备usb主机接口的情况。这里以stm32平台+stm32CubeMX工具为例总结介绍一下如何让自己的usb 主机具有和ch340芯片通信的功能。使用sm32CubeMX配置一个usb cdc类的主机代码 usb有主从机之分,ch340转串口芯片在这里是从机,ch340是转串口芯片,提到串口我们很原创 2021-08-03 13:37:52 · 3265 阅读 · 5 评论 -
keil因堆栈不足导致的申请内存失败问题
keil是一款MCU使用广泛的IDE,当程序规模较大时,我们使用malloc从堆中申请内存,有时编译成功,而程序无法正常运行,通过调试观察申请成功而使用此内存空间时又显示为野指针错误,或者出现程序莫名卡死等现象。 在确保程序语法无误,没有堆栈溢出的操作后,我们应该检查分配给程序的堆栈空间是否足够,因为keil工程在运行中可使用的最大堆栈空间是事先分配好的。 编译后在编译输出窗口可看到程序中各个部分的占用空间大小,或者在.map文件中可看到相关信息各部分代表什么含义这里不做详细介绍了,我们在新建原创 2021-04-01 08:47:33 · 1345 阅读 · 0 评论 -
STM32CubeMX的DMA传输的bug(串口DMA举例)
STMCubeMX STMCubeMX是ST为stm32系列mcu开发的图形化配置工具,通过它我们可以快速初始化芯片资源,确实可以为嵌入式软件工程师节省在底层配置上的时间精力,快速进入功能验证。但是我们在使用它的时候需要注意一个bug,防止掉进坑里影响我们宝贵的时间和开发节奏。DMA DMA(Direct Memory Access),直接存储器访问,是一种广泛使用的数据传输方式,DMA控制器可自主在存储器和外部设备之间直接进行数据传送,大大节省处理器本身的芯片资源,高速通信时大大提高系统效率和稳原创 2021-03-31 23:55:04 · 1130 阅读 · 6 评论 -
四旋翼无人机飞控系统设计(姿态传感器MPU6050)
姿态传感器数据采集姿态传感器可以说是整个无人机飞控系统的核心部件,我们在使用姿态传感器的时候mpu6050时通过I2C对模块的相对寄存器进行初始化和读取,根据精度设置对读取出来的各个轴电压值进行单位转换便可以得到各个轴的角速度和加速度。...原创 2020-12-19 21:55:27 · 4779 阅读 · 1 评论 -
四旋翼无人机飞控系统设计(基础知识篇)
飞行原理 四旋翼的结构组装有十字模式和X模式之分,两者的基本原理一致,方向结构不同,都是通过四个电机的组合状态进行控制姿态飞行,而十字型四旋翼机头是对准其中一个电机的,X型的四旋翼四个电机在对角线。 高速旋转的四旋翼螺旋桨产生空气对无人机的反作用力,此反作用力为四旋翼垂直运动提供升力,除了垂直方向的升力,因旋翼切面形状而在水平方向产生的反作用力会使得单个旋翼有自旋的倾向,为了解决这个问题,采用相邻旋翼旋转方向相反的方式来互相抵消水平方向的旋扭力力。所以四旋翼电机有正反之分。 相对于升降动作,原创 2020-12-19 20:56:10 · 16427 阅读 · 1 评论 -
四旋翼无人机飞控系统设计(方案篇)
四旋翼无人机飞控系统设计(方案篇)四旋翼无人机为多旋翼无人机中最经典的机型,此设计为四旋翼无人机飞控系统设计(侧重软件),这里主要涉及基于MCU的无人机飞控程序的编写,使用的无人机机架、电机、电调、锂电池、航模遥控器、接收机等为淘宝购买并自组,新手应先入门航模有关知识防止出现安全事故。使用M4内核stm32F407单片机外置姿态传感器、高度传感器、光流传感器等组成飞控系统。使用串级PID控制作为无人机飞控的核心算法。使用高度环工作和光流控制矫正机械误差、参数优化不足等因素产生的漂移。使用的RTOS是RT原创 2020-12-19 20:34:16 · 7629 阅读 · 1 评论