草庐IT

STM32CubeMX

全部标签

STM32F4_时钟系统精讲

目录1.什么是系统时钟2.时钟树2.1LSI2.2LSE2.3HSI 2.4HSE2.5PLLCLK2.6SYSCLK2.7HCLK2.8PCLK12.9PCLK22.10RTC/AWU3SysTick定时器3.1为什么会有Systick定时器?3.2SysTick定时器的作用 3.3 SysTick定时器的寄存器4.IO引脚复用和映射5.NVIC中断优先级5.1中断寄存器5.2NVIC中断优先级设置函数5.3中断优先级设置步骤    嵌入式入坑者,与君共勉,大家一起加油!        💬推荐一款模拟面试、刷题神器,从基础到大厂面试题👉点击跳转刷题网站进行注册学习 1.什么是系统时钟    

FlyMcu - 用于STM32芯片ISP串口程序一键下载的免费软件

目录一、前言二、下载1.官方网站2.选择中文网页3.进入软件下载页面4.下载所需要的版本5.下载完成三、配置1.准备下载程序2.开始下载程序3.完成下载程序一、前言  FlyMcu模拟仿真软件是一款用于STM32芯片ISP串口烧录程序的专用工具,免费,且较为非常容易下手,好用便捷。二、下载1.官方网站  单片机在线编程网:http://www.mcuisp.com/2.选择中文网页  点击官网首页的“简体中文”入口。3.进入软件下载页面  点击网页的公司简介的最后一段中带有下划线的“免费的串口ISP下载软件”,找不到的话,也可以点击最上方标签栏的“软件下载”。  吐槽一下,文字超链接“免费的串

【FOC无刷电机控制】六步换向、FOC,STM32cubemx从零开始搭建BLDC六步换相代码、FOC代码(基于霍尔传感器)

目录O、前言1个人经验2软硬件介绍一、六步换相1新建cubemx工程2工程基础配置(1)RCC时钟配置(2)SYS调试接口(3)工程设置,生成MDK工程3串口(1)cubemx配置(2)printf重映射(3)测试4霍尔传感器(1)Cubemx配置(2)初始化启动(3)测试定时中断(4)测试霍尔中断4开环控制(1)普通PWMcubemx配置(2)普通GPIO配置(3)开环控制二、FOCO、前言用作备忘录,也希望能帮助正在入门摸索的朋友少走弯路,从外设开始,到开环,到闭环。参考文章代码:正点原子、野火、硬石,三家文档几乎一样。(个人感觉原子文档写的好)1个人经验刚开始学无刷电机控制时是直接去看的

【STM32技巧】HX711称重芯片详细说明

概述HX711模块A通道带有128倍信号增益,可以将5mV的电压放大128倍,然后采样输出24bitAD转换的值,单片机通过指定时序将24bit数据读出如何计算传感器供电电压HX711可以在产生VAVDD和AGND电压,即711模块上的E+和E-电压。该电压通过:VAVDD=VBG(R1+R2)/R2例如:VBG为模块儿基准电压1.25V,R1=20K,R2=8.2K,因此得出VAVDD=4.3V(为了降低功耗,该电压只在采样时刻才有输出,因此用万用表读取的值可能低于4.3v,因为万用表测量的是有效值。)测重原理讲解满量程输出电压=激励电压*灵敏度1.0mv/v例如:供电电压是5V乘以灵敏度1

STM32F103ZET6【标准库函数开发】------04五个串口的详细配置

一、硬件介绍正点原子战舰开发板STM32F103ZET6有5个串口,查看引脚图可以找到对应的IO口分别如下串口USART1USART2USART3UART4UART5输入/输出方式USARTx_TXPA9PA2PB10PC10PC12复用推挽输出USARTx_RXPA10PA3PB11PC11PD2浮空输入USART1挂在APB2下USART2,USART3,USART4,USART5挂在APB1下一、实现目的串口调试助手设置波特率设置115200,停止位1,数据为8,校验位None,以十六进制显示和发送。不勾选DTR和RTS。按下KEY0,串口调试助手接收到十六进制下的41以十六进制发送5a

自制DAPLink -- ARM官方源码以及STM32F103C8T6

【本文发布于https://blog.csdn.net/Stack_/article/details/128771308,未经许可禁止转载,转载须注明出处】一、安装工具并配置环境变量ARM的GitHub有如下说明1、python3【官网】【网盘】链接:https://pan.baidu.com/s/1zW_H_eQlkzX3FkXuClFnTA提取码:fp68安装时会自动添加环境变量。如果电脑已有py2环境变量,安装完后在系统变量中将py3提到py2前面,下面的操作完成后卸载或者恢复到py2后面即可。2、Git【官网】【网盘】链接:https://pan.baidu.com/s/1TBMR6B

STM32串口使用说明(代码示例)

本文展现了STM32串口通信配置流程,及示例。根据串口发送方式的不同,使用的中断不同。发送方式:直接收发、DMA收发。此文只展示直接收发方式。目录一、确认使用的串口与对应的引脚二、进行串口配置1、串口IO初始化2、串口配置3、开启中断4、使能串口5、串口接收与发送串口中断服务函数(接收)发送函数(发送)全部配置完成一、确认使用的串口与对应的引脚串口对应引脚(STM32F4)串口号RXDTXD1PA10(PB7)PA9(PB6)2PA3(PD6)PA2(PD5)3PB11(PC11/PD9)PB10(PC10/PD8)4PC11(PA1)PC10(PA0)5PD2PC126PC7(PG9)PC6

(STM32)PWM输出控制电机旋转并且使用编码器读取脉冲数

目录 前言一、pwm输出让电机转 1.电机的接线说明2.驱动的接线说明3.pwm输出代码 pwm.cpwm.h4.输出pwm控制电机旋转二、配置定时器编码器模式1.定时器编码器模式编码器原理编码器相关的概念2.编码器模式——代码部分3.获取脉冲数三、定时读取编码器读取的脉冲数四、计算速度(本篇最重要部分)1.速度计算原理2.速度计算代码 前言正文之前先介绍一下我使用的主控芯片、电机以及驱动。主控芯片是STM32F103C8T6(这个芯片比较普遍、便宜,这款芯片使用熟练之后,我的建议是转到CH32V307VCT6);这里我还想在说一点就是C8T6内的定时器只有4个(TIM1、TIM2、TIM3、

STM32:串口轮询模式、中断模式、DMA模式和接收不定长数据

一.串口轮询模式底层机制:    在STM32每个串口的内部都有两个寄存器:发送数据寄存器(TDR)/发送移位寄存器,当我们调用HAL_UART_Transmit把数据发送出去时,CPU会将数据依次将数据发送到数据寄存器中,移位寄存器中的数据会根据我们设置的比特率传化成高低电平从TX引脚输出。待发送移位寄存器中发数据发送出去后,CPU就会将下一个数据进行相同的发送。        当我们调用HAL_UART_Receive把数据接收过来时,数据会通过RX引脚收到的电平信号进行转化后,会将数据存进接收移位寄存器。接收移位寄存器每接收完1帧就会将数据放到接收数据寄存器。而后CPU会将接收数据寄存器

极度优雅的用stm32串口接收并分析不定长数据的方法(可用于发送和接收浮点数)

极度优雅的用stm32串口接收并分析不定长数据的方法(可用于发送和接收浮点数)应用场景比赛需要ESP-01s原理STM32CUBEMX配置代码编写总结&扩展应用场景比赛需要我准备电赛的时候参加了学校为了准备电赛而举办的的积分赛,队友通过树莓派用给stm32发送执行指令,而我在队里作为写单片机的就需要分析数据包,每一个数据包都比较大也比较复杂,而且不定长,用传统的一个字节一个字节接收数据的方式收串口在代码层面上就显得和很复杂,因此我需要一个能定长接收数据并分析的方法。ESP-01s在我之前用AT指令玩ESP-01s模块的时候,服务器下发的数据往往是不定长的,因此我也需要一个用单片机接收不定长数据