草庐IT

使用Free Pascal开发STM32程序

使用FreePascal开发STM32程序前言大部分人都知道嵌入式开发,一般用的都是C语言,但是实际上,除C语言之外还有许多语言都可以开发,本文将介绍使用FreePascal(简称FPC)开发STM32程序的方法。你可以进FreePascal的官网看看,其第一段话就是说这个编译器支持多少处理器多少操作系统的,事实上其支持绝大多数你知道的和不知道的处理器和系统(甚至开发版本还支持龙芯架构的Linux平台),当然本文的主题肯定不是教你怎么用这个编译器给各种各样的平台和架构开发程序,而是讲述如何使用构建其有关STM32的开发环境。STM32系列是ST公司推出的微控制器(MCU)产品,有诸多的型号,但

STM32学习之ADC(模拟数字转换器)

目录ADC的定义及其类型ADC-单通道独立规则模式对于该模式的理解:通道及ADC分配:时钟配置:GPIO配置:ADC模式配置:校准:读取ADC:代码:野火的开源代码由于大二学生一枚,水平有限,文中自己的理解难免出错,恳请道友发现后能批评❤️未完待更...ADC的定义及其类型全称:ADC= AnalogtoDigitalConverter中文翻译:模数转换器作用:模拟信号转换成数字信号的电路。方法步骤:采样-量化-编码模拟信号:模拟信号主要是指幅度和相位都连续的电信号。个人理解:连续嘛自然就不能突然中间有跳点,跳跃间断点知道吧,函数连续知道吧,不能断了。在每个时刻都得有值。这个相位连续不就是时间

STM32定时器基本知识

STM32定时器PWM模式#include"stm32f4xx.h"voidGPIO_Configuration(void);voidTIM3_Configuration(void);intmain(void){GPIO_Configuration();TIM3_Configuration();while(1){//在这里可以根据需要调整电机的运动状态}}voidGPIO_Configuration(void){GPIO_InitTypeDefGPIO_InitStructure;//使能GPIOB时钟RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,EN

MDK编译报错Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_md.0)

使用keil编译程序时,出现如下错误.\Objects\STM32_MD.axf:Error:L6218E:UndefinedsymbolSystemInit(referredfromstartup_stm32f10x_md.o).Notenoughinformationtolistimagesymbols.Notenoughinformationtolistloadaddressesintheimagemap.Finished:2information,0warningand1errormessages.“.\Objects\STM32_MD.axf”-1Error(s),0Warning(

STM32 定时器 周期 频率 时间 计算

一:周期时间公式:T(溢出时间)=(ARR+1)*(PSC+1)/Tclk ARR:自动重装载值PSC:预分频系数TCLK:时钟频率例如:Tclk=72MHzARR=719PSC=999那么T=720*1000/72000000=1/100s即每10ms溢出一次中断计时一次 二:频率公式:f=1/T频率就是周期的倒数 例如:Tclk=72MHzARR=719PSC=999那么f=72000000/720*1000=100Hz即该定时器的频率就是100Hz注意:开启定时器中断

在STM32中对信号进行FFT运算

首先需要在程序文件中添加DSP库并将其文件夹加入程序中其中包括头文件与arm_cortexM4lf_math.lib在keil中需要进行如下操作1、魔术棒>C/C++>Define,ARM_MATH_CM4,__CC_ARM,ARM_MATH_MATRIX_CHECK,ARM_MATH_ROUNDING2、在程序中添加arm_cortexM4lf_math.lib文件3、添加头文件路径…\DSP_LIB\Include4、打开UseMicroLIB在程序中需要添加头文件#include"arm_math.h"#include"math.h"添加相关定义//*******************

STM32G4 比较器COMPx(寄存器开发)

目录1.特性1.1框图1.2比较器输入信号SEL1.3比较器滞回选择HYST1.4比较器的输出1.5LOCK机制2.编程2.1初始化步骤2.2举例STM内部的比较器是模拟量的比较器,其与APB2时钟同步,在RCC时钟控制器中没有COMx时钟使能标志位,其时钟的使能与复位与SYSCLK同步。1.特性1.1框图1.2比较器输入信号SEL比较器的输入端有正负极信号,正极INP通过INPSEL选择输入信号,负极通过INMSEL选择输入信号,其SEL引脚定义如下图表所示。1.3比较器滞回选择HYST滞回英文Hysteresis,可以理解为施密特触发器,通过在CSR寄存器中配置HYST来选择滞回电压。1.

STM32 DSP库CUBEMX配置+FFT频率计算

文章目录前言一、DSP库添加1.1加一个define1.2添加文件路径1.3主函数二、FFT运算求频率2.1初始版本版本2总结前言使用DSP中的函数加快计算。本文首先讲述如何通过添加dsp库。再讲述使用DSP库进行实数FFT运算。(FFT运算用到了前面讲述的STM32CubeMX-ADChal库3定时器触发)参考1文章参考2文章一、DSP库添加1.1加一个define,ARM_MATH_CM3//F1是M3,F4是M4,H7是M71.2添加文件路径先找到文件路径然后设置如下路径双击如下并找到路径D:\STM32CubeMX\STM32Cube_FW_F4_V1.26.2\Drivers\CMS

STM32开发——简介、开发环境(Keil5、CubeMX)、HAL库

目录1.简介-初识STM322.开发环境2.1使用Keil5 2.2使用STM32CubeMX 3.标准库与HAL库区别4.推挽输出与开漏输出1.简介-初识STM32什么是单片机?单片机(Single-ChipMicrocomputer)是一种集成电路芯片,把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。STM系列单片机命名规则ST--意法半导体M--Microelectro

STM32速成笔记—低功耗模式

文章目录一、STM32低功耗模式介绍二、睡眠模式2.1进入睡眠模式2.2退出睡眠模式三、停止模式3.1进入停止模式3.2退出停止模式四、待机模式五、程序设计一、STM32低功耗模式介绍STM32提供了一些低功耗模式。默认情况下,系统复位或上电复位后,微控制器进入运行模式。在运行模式下,HCLK为CPU提供时钟,并执行程序代码。当CPU不需要继续运行(例如等待外部事件)时,可以利用多种低功耗模式来节省功耗。STM32提供了3种低功耗模式,以达到不同层次的降低功耗的目的睡眠模式(内核停止工作,外设仍在运行)停止模式(所有时钟都停止)待机模式(1.8V内核电源关闭)这三种模式所需的功耗是逐级递减,也