草庐IT

STM32CubeMX

全部标签

介绍 ESP32-CAM 系统架构、内存地址、开机流程

介绍ESP32-CAM系统架构、内存地址、开机流程目录介绍ESP32-CAM系统架构、内存地址、开机流程ESP32-CAM系统架构ESP32启动流程参考资料ESP32-CAM系统架构因为ESP32-CAM内核是ESP32,所以以下所有的说明来自ESP32技术参考手册。ESP32是一个双核系统,具有两个哈佛架构(HarvardArchitecture)XtensaLX6CPU。所有嵌入式内存(embeddedmemory),外部内存(externalmemory)和外围设备(peripherals)位于这些CPU的数据总线和/或指令总线上。两个CPU的地址映射是对称的,这意味着它们使用相同的地址

[STM32F103C8T6]ADC转换

什么是ADC转换?ADC转换的全称是:Analog-to-DigitalConverter,指模拟/数字转换器ADC的性能指标:ADC分辨率:SSA与VREF-一起接到地,DDA与VREF+接到3.3v,所以ADC转换的范围是0---3.3v所以最后的ADC转换值应该是我们的测量值*分辨率  分辨率=3.3v/2^12=(3.3/4096)  12位的转换器所以是2的12次方为最小刻度ADC通道: 什么叫注入通道?什么叫规则通道? 我的理解是:注入通道是有特权的通道,可以优先转换,而规则通道是没有特权的通道只能按顺序转换(类似于买票排队,注入通道就类似于老弱病残孕军人之类的,享有优先特权,而规

LVGL WIN32模拟器环境搭建

LVGLWIN32模拟器环境搭建LVGL简介环境搭建IDE选择模拟器代码下载PC模拟器搭建其他配置项说明LVGL简介LVGL是一个跨平台、轻量级、易于移植的图形库。因其支持大量特性和其易于裁剪,配置开关众多,且版本升级较快,不同版本之间存在一定的差异性,相关的使用教程有一定的滞后性,由于缺少最新版本的中文教程,加上大量的教程中未注明对应的版本,初始接触的开发者往往容易中招,花费大量时间爬坑。本文仅对自己的使用经验进行记录和总结,望对初始接触LVGL的开发者有所帮助。LVGL提供了模拟器来在电脑上仿真LVGL,让用户可以摆脱硬件和平台的束缚,专注于LVGL逻辑层面的开发。对于如何在PC上仿真LV

0503-stm32的调试工具:st-link详细解析 (命令行/ st utility/ cubePorbrammer)

1.1-综述从事stm32开发的话,肯定绕不开stlink,使用stlink开发stm32时用到的知识点。对于常规开发而言,80%时候会使用keil或vscode对目标芯片进行下载与在线调试,简单的bug我们一般反复下载就行了,复杂的bug需要进行单步调试、查看寄存器、输出swo信息等。本文简单介绍stlink的两个工具st-utility和cubeProgrammer,重点介绍st-link的命令行的使用,因为越来越多的人会(抛弃keil)转向使用vscode调用stlink进行开发,最后对stlink和jlink进行简单对比。1.2-stlink是啥?stlink或st-link是一个解决

[HAL]STM32 SPI+DMA驱动WS2812

该程序是纯手敲,非Cube生成!所有代码均注释。源码在文章后面获取WS2818简介Keyword:单线通讯、归零码、Reset、RGB顺序RGB一共有24bit位->相当于驱动一个灯要24bit位->驱动若干个灯要24*nbit位,通过Reset码决定数据终止(保持)24bit位应该如何发送?可见:表示低电平需要T0H和T0L的配合,其关键在于高电平的时间,图中所示T0H时间为0.85us±150nsQ:怎么控制高低电平的时间数据发送速度可达800Kbps,就是1.25us发送一位数据,因为协议有一定的兼容性,所以实际上一个位的周期在1.25us±300ns之间都能识别到,因为是us级延时,所

STM32以中断的方式点亮LED小灯(标准库)

STM32以中断的方式点亮LED小灯(标准库)文章目录STM32以中断的方式点亮LED小灯(标准库)一.认识中断1.中断优先级:2.中断嵌套:3.中断执行流程4.中断与stm325.中断与NVIC(嵌套向量中断控制器)6.EXTI(ExternInterrupt)外部中断①.EXTI简介②.EXTI基本结构7.AFIO复用IO口二.创建MDK(keil5)项目1.项目结构2.基本设置三.具体实现1.配置RCC,把涉及到的外设的时钟全部打开2.配置GPIO,选择端口为输入模式(GPIOB14号引脚)3.配置AFIO,选择我们用的GPIO连接到后面EXTI4.配置EXTI,选择触发方式(例如上升沿

stm32无人机-飞行力学原理

惯性导航,是一种无源导航,不需要向外部辐射或接收信号源,就能自主进行确定自己在什么地方的一种导航方法。惯性导航主要由惯性器件计算实现,惯性器件包括陀螺仪和加速度计。一般来说,惯性器件与导航物体固连,加速度计测量物体运动的加速度,已知初始状态(速度和位置),加速度不断积分就可以计算出每个时刻速度和位置,就是这么简单的道理计算出速度位置进行导航。四轴结构四轴飞行器在空间上有6个自由度,分别是沿3个坐标轴进行平动和转动,通过对四个旋翼的转速控制来实现,6个自由度方向的运动姿态分别为:垂直升降、俯仰角度、前后飞行、横滚角度、左右侧向飞行。四轴飞行器机体结构有“X”型和“+”型两种,我们通过“X”型进行

【STM32】中断向量表

我是通过这个进行学习的,我觉得讲的很好,这里我稍加修改,作为自己的学习笔记:嵌入式杂谈之中断向量表前言STM32根据boot引脚的配置方式有3种启动方式,但是无论哪一种方式,对于STM32来说都是从0x00000000启动STM32单片机启动第一件事就是取得中断向量表中断向量表是一个4byte的数组,每个成员都是一个地址,指向相应的中断处理函数,当芯片处于不同的状态时,就会根据这段内容跳转到对应的地址去执行对应的程序。特别的第一个成员是栈顶地址,第二个成员是复位函数Reset_Handler。向量表根据Arm的规定,cortex3cortex4启动都是从0x00000000开始,量表是一个WO

毕设教学:STM32-Keil软件仿真和硬件仿真 在线仿真

软件仿真和硬件仿真什么区别?软件仿真就是没有硬件参与的仿真,完全是模拟实现的。硬件仿真是将程序下载到控制芯片的FLASH或RAM中,直接在硬件上实现仿真。【有什么问题欢迎联系讨论,一起解决问题】仿真这种东西,因为涉及到信任问题,用的好觉得好用,用不好可能会徒增麻烦——“还不如直接在硬件上调试靠谱”。但是总体上,仿真还是比较有用的,比如在排查软件问题(寄存器配置等)的时候,使用软件仿真是非常靠谱的。而如果涉及到硬件的问题(比如你的板子代码需要读取外部信号,或者输出信号等),可能需要用到硬件仿真,或者说在线仿真。关于仿真,网上的资料说的还是挺全的,这里只做总结。目录一、软件仿真1.1仿真配置1.2

【GD32】从0开始学GD32单片机(11)—— TIMER通用定时器详解+PWM波形输出捕获例程

目录简介计数模式捕获和比较通道输入捕获模式输出比较模式PWM模式边沿对齐PWM中央对齐PWM正交译码器从控制器例程简介在我的上一篇文章讲了基本定时器的用法和内部结构,点击下面的链接可以回顾一下。文章链接:TIMER基本定时器详解+1毫秒延时例程而这里将继续深入定时器,讲一讲通用定时器。下面是GD32各个定时器的差异表。通用定时器比较特别,它们之间还分了3个不同的版本——L0、L1和L2。大致的区别在于捕获\比较通道数、单脉冲模式支持、正交译码器支持、从设备控制器支持、内部连接支持、DMA支持。下面就以功能最全面的L0通用定时器为例,详细讲一讲。计数模式通用定时器支持向上计数、向下计数和中央对齐