推荐阅读最新更新时间:2024-11-05 19:30
STM32F407 关于TIM1输出PWM
通过 CCxE、 CCxNE、 MOE、 OSSI 和 OSSR 位(TIMx_CCER 和TIMx_BDTR 寄存器)的组合使能 OCx 输出。实际上,需要将TIMx_BDTR 寄存器的 MOE和AOE位置1。这就是和普通配置PWM输出的不同点。代码如下↓ /******************************************************************* * 功 能: * 作 者: Jahol Fan * 参 数: * 返回值: * 其 他: PA9 PWM输出控制转速,PA9的复用功能1是TIM1_CH2, TIM1:168MHZ *****************
[单片机]
STM32定时器(TIM)之通用定时器
STM32的通用定时器有四个,分别是TIM2, TIM3,TIM4,TIM5,有以下功能: 通用定时器的框图如下: 从图中可以看出,通用定时器TIMx的触发源(计数器时钟的时钟源)有四个: 1、内部时钟(CLK_INT) 2、外部时钟模式1:外部输入引脚(TIx),分别经TIMx_CHx通道传入 3、外部时钟模式2:外部触发输入(ETR) 4、内部触发输入(ITRx):定时器主从模式下由ITRx定义从定时器和主定时器、 下面选取触发源为内部时钟时进行分析: 从上图我们可以看到,基本定时器主要由下面三个寄存器组成。 1、计数器寄存器 (TIMx_CNT) 2、预分频器寄存器 (TIMx_PSC) 3、自动重载寄存器 (TIM
[单片机]
STM32F10x在OTP MCU编程器中的应用
OTP单片机因其价格低廉、性能成熟在许多小家电中得以广泛应用。硬件编程器通常是其开发过程中必不可少的设备。本案是用于该类单片机的硬件编程器,可对该类单片机实现联机编程和脱机编程;还可以测试该类单片机的工作频率、工作电压等多项参数,一机多用。 1、STM32F101R8主要特性 STM32F10x系列是ST公司推出的基于ARM最新架构Cortex-M3内核的MCU。集成了存储器、时钟、复位和电源管理电路,DMA控制器,模数/数模转换器,快速IO口,多功能定时器及各种通讯端口。具有多种低功耗模式、在线调试端口。该系列MCU引脚、外设、软件具有高度兼容性,能应用到许多领域中。 本案选用了基本型器件STM32F10
[单片机]
stm32f10x 中断分组
一、中断优先级分组 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); #define NVIC_PriorityGroup_0 ((uint32_t)0x700) /*! 0 bits for pre-emption priority 4 bits for subpriority */ #define NVIC_PriorityGroup_1 ((uint32_t)0x600) /*! 1 bits for pre-emption priority 3
[单片机]
STM8S_003_TIM定时中断
Ⅱ、TIM基础知识 在上一篇文章中讲述了一些关于TIM的知识,本文说一下TIM中断相关知识。 TIM框图: TIM4属于基本定时器,是8位计数的定时器,也就是说UP-COUNTER和Auto-reload register是8位的寄存器,最大值只能为255。 主系统时钟fMASTER进来,通过分频Prescaler给计数器UP-COUNTER计数,当计数器和Auto-reload register相等时,有一个事件更新(这就是上文的延时时间到),如果使能了事件更新中断,则会响应中断(UIF)。 这里再次强调一下,基本定时器的8位的定时器,最大值为255,如果不满足要求,可以使用16位的通用定时器。 Ⅲ、软件工程
[单片机]
u8,u16,u32和uint8_t,uint16_t,uint32_t的含义
ST库里面的宏定义,定义如下: #define __I volatile const /*! defines 'read only' permissions */ #define __O volatile /*! defines 'write only' permissions */ #define __IO volatile /*! defines 'read / write' permissions */ typedef unsigned int uint32_t; typedef
[单片机]
STM32F4_TIM输入波形捕获(脉冲频率、占空比)
Ⅰ、概述 本文基于上一篇文章“TIM输入波形捕获(脉冲频率)”的基础上进行拓展,上一篇文章主要是捕获波形的频率,本文主要拓展捕获波形的占空比。 笔者实验测试的方法和上一篇文章一样,通过信号发生器产生PWM信号,通过串口发送频率和占空比到上位机(上位机串口助手显示其数值)。(没有信号发生器的朋友可以结合上一篇文章PWM输出做信号源;在同一块板子上也可以使用不同定时器,将PWM输出引脚接在捕获输入引脚) 实验现象:不同频率的实验现象请看上一篇文章(该文章提供的工程笔者也是进行了大量不同频率的测试,误差在几Hz属正常范围)。 1000Hz、20% - 80%占空比现象: 1000Hz、51% - 58%占空比现象: 关于
[单片机]
STM学习笔记--STM32F10X时钟
一:系统(SYSCLK)时钟3种 (注:时钟频率较高) HSI振荡器时钟 8MHZ HSE振荡器时钟 4-16MHZ PLL 时钟 2-16倍频 PLL的设置必须在其激活前完成,激活后不能改变其状态。 1:HSI为内部8MHz RC振荡产生,启动时间比HSE短,精度较低。出厂校准精度为1%(25℃)。校准值存放在HSICAL 。 软件判断HIS是否启动完成:通过判断HSIRDY位是否为1。启动时,等HIS稳定后,硬件置位HSIRDY。可以产生中断,如果中断使能 (RCC_CIR) 。 时钟切换:HSI在复位后为默认系统时钟,若改变时钟源,需等到目标时钟源准备就绪,才能够发送切换。准备就绪的标准是:R
[单片机]