stm32常用库函数
“stm32常用库函数”相关的资料有哪些?“stm32常用库函数”相关的范文有哪些?怎么写?下面是小编为您精心整理的“stm32常用库函数”相关范文大全或资料大全,欢迎大家分享。
STM32库函数功能详解
STM32库函数简介
一、通用输入/输出(GPIO)--------------------------------------------------------------------------------------------3 二、外部中断/事件控制器(EXTI)-----------------------------------------------------------------------------------7 三、通用定时器(TIM)-------------------------------------------------------------------------------------------------9 四:ADC寄存器------------------------------------------------------------------------25 五:备份寄存器(BKP)-------------------------------------------------------------------------------------------------33
STM32库函数功能详解
STM32库函数简介
一、通用输入/输出(GPIO)--------------------------------------------------------------------------------------------3 二、外部中断/事件控制器(EXTI)-----------------------------------------------------------------------------------7 三、通用定时器(TIM)-------------------------------------------------------------------------------------------------9 四:ADC寄存器------------------------------------------------------------------------25 五:备份寄存器(BKP)-------------------------------------------------------------------------------------------------33
STM32电机控制重量级库函数解析
STM32电机控制重量级库函数解析
Foc_svpwm.c
归属组:arithmetic
描述:PWM配置和SVPWM计算 函数: 函数 SvpwmLMotorConfig(void) SvpwmRMotorConfig(void) SvpwmTimerSynchConfig(void) 功能描述 对左电机用到外设进行配置 对右电机用到外设进行配置 双电机pwm控制时钟源Timer1、8同步,配置TIM1、TIM8、TIM5进行时钟同步 又Valpha、Vbeta输入生成SVPWM波形 输入参数 无 无 无 输出参数 无 无 无 调用函数 无 无 无 在何处被调用 foc_port.c/ FOCPortPeripheralConfig() foc_port.c/ FOCPortPeripheralConfig() foc_port.c/ FOCPortInit() foc_encoder.c/ FOCEncoderStartUp(u8 mc_ch) foc_port.c/ FOCPortArithmeticModel(u8 mc_ch) SvpwmCalcDutyCycles(STATOR_VOLTAGE,u8) typedef struct
STM32常用英文缩写
ARM:Advanced RISC Machine
AAPCS:ARM Architecture Process call standard
ARM 体系结构过程调用标准
RISC: Reduced Instruction Set Computer 精简指令集计算机
RTOS:Real Time Operating System 实时操作系统
DMA:Direct Memory Access 存储器直接访问
EXTI: External Interrupts 外部中断
FSMC: Flexible static memory controller 可变静态存储控制器
FPB:flash patch and breakpoint FLASH 转换及断电单元
HSE:Hign speed external
HSI: High speed internal
LSE: Low Speed external
LSI: Low Speed Internal
LSU: load store unit 存取单元
PFU: prefetch unit 预取单元
ISR:Interrupt Service Routines 中断服务程序
NMI: Nonmaskable Interrupt 不
STM32F4库函数笔记
(1)GPIO_Mode_AIN模拟输入
(2)GPIO_Mode_IN_FLOATING浮空输入 (3)GPIO_Mode_IPD下拉输入 (4)GPIO_Mode_IPU上拉输入 (5)GPIO_Mode_Out_OD开漏输出 (6)GPIO_Mode_Out_PP推挽输出 (7)GPIO_Mode_AF_OD 复用开漏输出 (8)GPIO_Mode_AF_PP复用推挽输出
平时接触的最多的也就是推挽输出、开漏输出、上拉输入这三种
推挽输出:可以输出高,低电平,连接数字器件;
开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行,一般来说,开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平。
浮空输入:由于浮空输入一般多用于外部按键输入,结合图上的输入部分电路,我理解为浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。
GPIO
GPIO_Init函数初始化 {
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Perip
stm32试题
1.Cortex-M处理器采用的架构是( D)
(A)v4T (B)v5TE (C)v6 (D)v7 2.NVIC可用来表示优先权等级的位数可配置为是(D )
(A)2 (B)4 (C)6 (D)8 4.Cortex-M3的提供的流水线是( B)
(A)2级 (B)3级 (C)5级 (D)8级 5.Cortex-M3的提供的单周期乘法位数是(C )
(A)8 (B)16 (C)32 (D)64 6.STM32处理器的USB接口可达( B )
(A)8Mbit/s (B)12Mbit/s (C)16Mbit/s (D)24Mbit/s 7.Context – M3处理器的寄存器r14代表( B )
(A)通用寄存器 (B)链接寄存器 (C)程序计数器 (D)程序状态寄存器
STM32定位控制
/*作者:曹备*/
/*最后修改日期:2015-04-02*/ /*创建日期: 2015-04-02*/
/*基于STM32的单轴简易运动控制器/脉冲发生器*/ /*脉冲+方向控制步进伺服电机*/ /*
优化记录:
中断修改TIMx_PSC一个寄存器的值,而不是修改TIMx_ARR预加载寄存器+TIMx_CCRx比较值寄存器两个值,缩短中断处理时间
定位指令DRVI/DRVA中,目标频率设定过高、而实际输出脉冲数过少时,则不必加速到目标频率即进入减速区 */ /*
DRVI(A);相对定位,输出A(A取绝对值)个脉冲 A不能为0
若A为正数,则方向为正、GPIOB.0为高电平 若A为负数,则方向为负、GPIOB.0为低电平
DRVA(A) 绝对定位,输出脉冲,运行至A个脉冲的位置 若目标位置A等于当前位置D,则不执行脉冲输出 若A大于D 则方向为正GPIOB.5为高电平 若A小于D 则方向为负GPIOB.5为低电平
GPIOB.1为脉冲输出 GPIOB.0为方向输出 占空比为50%
阶梯曲线形式加减速
加减速时间以10毫秒为基本单位 加减速以每10毫秒为一级 例如
加减速时间为50毫秒,则加减速级数为50/1
STM32学习笔记
STM32学习笔记整理
端口复用配置过程
引脚具体可以复用为啥功能,参考芯片手册STM32F103ZET6.Pdf
具体每个引脚配置成什么模式,参考STM32中文参考手册,第八章,通用IO和复用。
NVIC中断
假定设置中断优先级组为2,然后设置
中断3(RTC中断)的抢占优先级为2,响应优先级为1。 中断6(外部中断0)的抢占优先级为3,响应优先级为0。中断7(外部中断1)的抢占优先级为2,响应优先级为0。
那么这3个中断的优先级顺序为:中断7>中断3>中断6
特别说明:
一般情况下,系统代码执行过程中,只设置一次中断优先级分组,比如分组2,设置好分组之后一般不会再改变分组。随意改变分组会导致中断管理混乱,程序出现意想不到的执行结果。
首先,系统运行后先设置中断优先级分组。调用函数: void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup); 整个系统执行过程中,只设置一次中断分组。 然后,中断初始化函数
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel = USAR
STM32 学习笔记
//////////////GPIO3/////////////////// #include \
#include \#include \
int main(void) {
//1、使能时钟
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
//定义一个IO
GPIO_InitTypeDef PORT_LED;
//设置IO引脚,模式,输出类型,速度
PORT_LED.GPIO_Pin=GPIO_Pin_4;//IO引脚,第4脚(个人的小板子PA4有连接LED) PORT_LED.GPIO_Mode=GPIO_Mode_OUT;//模式:输出
PORT_LED.GPIO_OType=GPIO_OType_PP;//输出类型,推挽输出 PORT_LED.GPIO_Speed=GPIO_Speed_10MHz;//输出速率,10MHz GPIO_Init(GPIOA,&PORT_LED);//正式初始化,PA口
GPIO_SetBits(GPIOA,GPIO
STM32学习总结
目 录
一、 工程目录结构...................................................................................................... 1 二、 启动代码分析...................................................................................................... 1
1、启动模式的选择............................................................................................... 1 2、 启动文件分析................................................................................................. 2
1) 定义栈、堆及其初始化...................................................................