电子发烧友网 > 控制/MCU > 正文

STM32通用定时器TIM2的使用方法解析

2018年11月21日 15:40 次阅读

STM32中一共有11个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器。(TIM1和TIM8是能够产生3对PWM互补输出的高级登时其,常用于三相电机的驱动,时钟由APB2的输出产生;TIM2-TIM5是普通定时器;TIM6和TIM7是基本定时器,其时钟由APB1输出产生)

本实验要实现的功能是:用普通定时器TIM2每一秒发生一次更新事件,进入中断服务程序翻转LED1的状态。

预备知识:

① STM32通用定时器TIM2是16位自动重装载计数器。

② 向上计数模式:从0开始计数,计到自动装载寄存器(TIMx_ARR)中的数值时,清0,依次循环。

需要弄清楚的两个问题:

1. 计数器的计数频率是什么?

这个问题涉及到RCC时钟部分,如下图所示:

STM32通用定时器TIM2的使用方法解析

定时器的时钟不是直接来自APB1或APB2,而是来自于输入为APB1或APB2的一个倍频器。

下面以定时器2~7的时钟说明这个倍频器的作用:当APB1的预分频系数为1时,这个倍频器不起作用,定时器的时钟频率等于APB1的频率;当APB1的预分频系数为其它数值(即预分频系数为2、4、8或16)时,这个倍频器起作用,定时器的时钟频率等于APB1的频率两倍。

假定AHB=36MHz,因为APB1允许的最大频率为36MHz,所以APB1的预分频系数可以取任意数值;当预分频系数=1时,APB1=36MHz,TIM2~7的时钟频率=36MHz(倍频器不起作用);当预分频系数=2时,APB1=18MHz,在倍频器的作用下,TIM2~7的时钟频率=36MHz。

有人会问,既然需要TIM2~7的时钟频率=36MHz,为什么不直接取APB1的预分频系数=1?答案是:APB1不但要为TIM2~7提供时钟,而且还要为其它外设提供时钟;设置这个倍频器可以在保证其它外设使用较低时钟频率时,TIM2~7仍能得到较高的时钟频率。

再举个例子:当AHB=72MHz时,APB1的预分频系数必须大于2,因为APB1的最大频率只能为36MHz。如果APB1的预分频系数=2,则因为这个倍频器,TIM2~7仍然能够得到72MHz的时钟频率。能够使用更高的时钟频率,无疑提高了定时器的分辨率,这也正是设计这个倍频器的初衷。

注意:APB1和APB2上挂的外设如图所示:

STM32通用定时器TIM2的使用方法解析

定时器的计数频率有个公式:

TIMx_CLK = CK_INT / (TIM_Prescaler + 1)

其中:TIMx_CLK 定时器的计数频率

CK_INT 内部时钟源频率(APB1的倍频器送出时钟)

TIM_Prescaler 用户设定的预分频系数,取值范围0~65535。

例如:RCC中AHB=72MHZ、APB1=36MHZ、APB2=72MHZ,则CK_INT=72MKZ。

2. 如何计算定时时间?

上述公式中TIM_Prescaler涉及到寄存器TIMx_PSC

STM32通用定时器TIM2的使用方法解析

STM32通用定时器TIM2的使用方法解析

如果TIM_Prescaler设为36000,由上面公式可知:

定时器的计数频率 TIMx_CLK = 72MKZ / 36000 = 2000HZ,则定时器的计数周期=1/2000HZ=0.5ms.

如果要定时1秒,则需要计数2000次,这也是自动重装载的值。又涉及到TIMx_ARR

STM32通用定时器TIM2的使用方法解析

STM32通用定时器TIM2的使用方法解析

只要上述两个问题搞清楚了,剩下的就是设置相应寄存器的对应位了。

LED硬件连接如下图所示:高电平点亮LED。

STM32通用定时器TIM2的使用方法解析

第一步:配置系统时钟。见STM32F103x RCC寄存器配置

除此之外,还需将GPIO和TIM2外设时钟打开。

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);

注意:TIM2是挂在APB1上的,打开时钟时别写错了,调用RCC_APB1PeriphClockCmd函数,而不是RCC_APB2PeriphClockCmd。

第二步:配置中断向量表。见stm32_exti(含NVIC)配置及库函数讲解

void NVIC_Configuration(void)

{

NVIC_InitTypeDef NVIC_InitStructure;

#ifdef VECT_TAB_RAM

NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);

#else

NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);

#endif

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);

NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 4;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);

}

该函数完成两个功能

1. 决定将程序下载到RAM中还是FLASH中

2. 配置中断分组。(NVIC中断分组只能设置一次)

3. 选择中断通道号,抢占式优先级和响应优先级,使能中断

第三步:配置GPIO的模式。输入模式还是输出模式。点亮LED已讲过,见STM32_GPIO配置及库函数讲解——LED跑马灯

void GPIO_Configuration(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

GPIO_Init(GPIOC, &GPIO_InitStructure);

}

第四步:定时器配置,本章重点!

void TIM2_Configuration(void)

{

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

//重新将Timer设置为缺省值

TIM_DeInit(TIM2);

//采用内部时钟给TIM2提供时钟源

TIM_InternalClockConfig(TIM2);

//预分频系数为36000-1,这样计数器时钟为72MHz/36000 = 2kHz

TIM_TimeBaseStructure.TIM_Prescaler = 36000 - 1;

//设置时钟分割

TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;

//设置计数器模式为向上计数模式

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

//设置计数溢出大小,每计2000个数就产生一个更新事件

TIM_TimeBaseStructure.TIM_Period = 2000;

//将配置应用到TIM2中

TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);

//清除溢出中断标志

TIM_ClearFlag(TIM2, TIM_FLAG_Update);

//禁止ARR预装载缓冲器

TIM_ARRPreloadConfig(TIM2, DISABLE); //预装载寄存器的内容被立即传送到影子寄存器

//开启TIM2的中断

TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);

}

该函数完成两个功能

1. 设定预分频系数TIM_Prescaler = 36000 - 1

2. 设定自动重装载值TIM_Period = 2000

注意:上述只是配置好了TIM2,但还没有开启TIM2。

下面给出timer2.c的完整代码

#include “stm32f10x_lib.h”

void RCC_Configuration(void);

void NVIC_Configuration(void);

void GPIO_Configuration(void);

void TIM2_Configuration(void);

void Delay(vu32 nCount);

int main(void)

{

#ifdef DEBUG

debug();

#endif

RCC_Configuration();

NVIC_Configuration();

GPIO_Configuration();

TIM2_Configuration();

TIM_Cmd(TIM2, ENABLE); //开启定时器2

while (1)

{

}

}

void RCC_Configuration(void)

{

ErrorStatus HSEStartUpStatus;

RCC_DeInit();

RCC_HSEConfig(RCC_HSE_ON);

HSEStartUpStatus = RCC_WaitForHSEStartUp()

if (HSEStartUpStatus == SUCCESS)

{

FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

FLASH_SetLatency(FLASH_Latency_2);

RCC_HCLKConfig(RCC_SYSCLK_Div1);

RCC_PCLK2Config(RCC_HCLK_Div1);

RCC_PCLK1Config(RCC_HCLK_Div2);

RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);

RCC_PLLCmd(ENABLE);

while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) {}

RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

while(RCC_GetSYSCLKSource() != 0x08) {}

}

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);

}

void NVIC_Configuration(void)

{

NVIC_InitTypeDef NVIC_InitStructure;

#ifdef VECT_TAB_RAM

NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);

#else

NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);

#endif

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);

NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 4;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);

}

void GPIO_Configuration(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

GPIO_Init(GPIOC, &GPIO_InitStructure);

}

void TIM2_Configuration(void)

{

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

//重新将Timer设置为缺省值

TIM_DeInit(TIM2);

//采用内部时钟给TIM2提供时钟源

TIM_InternalClockConfig(TIM2);

//预分频系数为36000-1,这样计数器时钟为72MHz/36000 = 2kHz

TIM_TimeBaseStructure.TIM_Prescaler = 36000 - 1;

//设置时钟分割

TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;

//设置计数器模式为向上计数模式

技术专区

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

STM32如何将程序定位到指定的地址?

发表于 2018-11-21 10:50 52次阅读
STM32如何将程序定位到指定的地址?

请问是否有可用于计算STM32F429和LSM6DS3楼梯数的库?

发表于 2018-11-21 10:28 7次阅读
请问是否有可用于计算STM32F429和LSM6DS3楼梯数的库?

ICS负增益怎么样?

发表于 2018-11-21 10:27 14次阅读
ICS负增益怎么样?

请问NUCLEO-F031K6的ST-LINK可以用于产品样机的仿真调试吗?

发表于 2018-11-21 08:53 65次阅读
请问NUCLEO-F031K6的ST-LINK可以用于产品样机的仿真调试吗?

请问STM32F的RST可以直接和GND连接来复位吗 ?

发表于 2018-11-21 08:52 63次阅读
请问STM32F的RST可以直接和GND连接来复位吗 ?

请问SYSCFG_EXTILineConfig这个函数在哪个文件中

发表于 2018-11-21 08:51 34次阅读
请问SYSCFG_EXTILineConfig这个函数在哪个文件中

STM32CUBE谁有好的推荐资料不

发表于 2018-11-21 08:50 69次阅读
STM32CUBE谁有好的推荐资料不

STM32F107 GPIO中断接收数据

发表于 2018-11-21 08:49 40次阅读
STM32F107 GPIO中断接收数据

F103平台USART1 DMA模式发送数据失败,可DMA中断有效

发表于 2018-11-21 08:41 77次阅读
F103平台USART1 DMA模式发送数据失败,可DMA中断有效

STM32L011D4什么波形都没有

发表于 2018-11-21 08:37 70次阅读
STM32L011D4什么波形都没有

基于STM32实现串口的两个分案解析

首先总结一下串口232,422,485 串口232:可双向传输,全双工,最大速率20Kbps,...

发表于 2018-11-20 15:42 46次阅读
基于STM32实现串口的两个分案解析

如何采用STM32配置SPI实现同步通信

SPI是一种高速的,全双工,同步的通信总线,原理和使用简单,占用引脚资源少,是一种常用的通信方式。

发表于 2018-11-20 15:14 36次阅读
如何采用STM32配置SPI实现同步通信

STM32定时器所支持的三种计数模式及计数过程

我们先不管合不合适,看看为什么会这样。最后发生溢出时计数器的值不等于ARR吗?结合上面图形,不难看出...

发表于 2018-11-19 19:18 520次阅读
STM32定时器所支持的三种计数模式及计数过程

如何用STM32配置一个EXTIx中断线的I/O...

//NVIC_CONFIG(); //2.配置EXTIx线的中断优先级 NVIC_Pri...

发表于 2018-11-19 16:02 51次阅读
如何用STM32配置一个EXTIx中断线的I/O...

基于STM32的MDK程序启动

__heap_base Heap_MemSPACEHeap_Size;//保留Heap_Siz...

发表于 2018-11-19 15:56 49次阅读
基于STM32的MDK程序启动

基于STM32的电容触摸按键的原理解析

没有按下的时候,充电时间为T1(default)。按下TPAD,电容变大,所以充电时间为T2。我们可...

发表于 2018-11-19 15:35 59次阅读
基于STM32的电容触摸按键的原理解析

获取STM32 MCU唯一ID的方法

在对内部 Flash 进行编程前将唯一 ID 与软件加密原语和协议结合使用时用作安全密钥以提高 Fl...

发表于 2018-11-18 11:37 49次阅读
获取STM32 MCU唯一ID的方法

STM32的各种时钟系统的应用解析

在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。 ①、HSI是高速内部...

发表于 2018-11-16 16:50 116次阅读
STM32的各种时钟系统的应用解析

stm32怎么烧录程序

STM32烧录程序目前笔者知道的有三种:JLink ,Ulink和串口烧录,使用工具分别为:JLin...

发表于 2018-11-16 16:09 175次阅读
stm32怎么烧录程序

SysTick定时器实现走马灯的功能

SysTick定时器非常简答,只有四个寄存器。这四个寄存器的含义在《Cortex-M3权威指南》那本...

发表于 2018-11-16 15:59 51次阅读
SysTick定时器实现走马灯的功能

STM32的Cortex-M3中断异常处理

在STM32处理器中有43个可屏蔽中断通道(不包含 16个 Cortex?-M3的中断线)。共设置了...

发表于 2018-11-16 15:35 56次阅读
STM32的Cortex-M3中断异常处理

掌握这三个思路告诉你如何使用STM32测量频率和...

显然,很容易想到——利用DMA。所以,笔者使用输入捕获事件触发DMA来搬运寄存器而非触发中断即可,然...

发表于 2018-11-16 15:07 179次阅读
掌握这三个思路告诉你如何使用STM32测量频率和...

基于STM32对DS1302的驱动

////DS1302引脚定义,可根据实际情况自行修改端口定义 #define RST PAou...

发表于 2018-11-15 16:30 107次阅读
基于STM32对DS1302的驱动

STM32调试DEBUG时需要了解那些知识相关资...

学习STM32开发,肯定少不了DEBUG调试这一步骤。那么,本文带你了解一下这个调试相关的知识。本文...

发表于 2018-11-11 11:39 322次阅读
STM32调试DEBUG时需要了解那些知识相关资...

你可能还不知道数据手册中有这些内容

一般《Reference manual参考手册》和《Datasheet数据手册》这两本手册是我们底层...

发表于 2018-11-07 09:11 237次阅读
你可能还不知道数据手册中有这些内容

如何系统地入门学习stm32?老司机筒子们有自己...

arm 官方也开始推这种通用库了。而此时st发现一剑走天涯的方法的确有很多弊端,开始了stmcube...

发表于 2018-11-06 17:07 553次阅读
如何系统地入门学习stm32?老司机筒子们有自己...

stm32的DMA1通道一览表,stm32使用D...

从数据搬运的角度看,如果要把存储地址A的数值赋给另外一个地址上B的变量,CPU实现过程为首先读出A地...

发表于 2018-11-05 10:56 299次阅读
stm32的DMA1通道一览表,stm32使用D...

基于STM32单片机的64Mbit单对单通信

简单的一种应用,ARM芯片作为master,flash为slaver,实现单对单通信。

发表于 2018-11-02 14:19 261次阅读
基于STM32单片机的64Mbit单对单通信

STM32单片机如何超频工作超大约多少还能正常工...

根据微软学术的定义,所谓超频(OVERCLOCKING)就是强制将计算机或硬件运行于厂商指定的时钟频...

发表于 2018-10-28 09:26 636次阅读
STM32单片机如何超频工作超大约多少还能正常工...

转学STM32的入门总结和学习步骤

大家可能是从51单片机过来的,回想一下,我们之前学单片机时如何入门呢?实际上都是先看书(理论),再玩...

发表于 2018-10-25 16:19 505次阅读
转学STM32的入门总结和学习步骤

详细分析11个电机驱动设计方案

24V无刷直流 (BLDC) 电机正弦波驱动,应用于空气净化器风扇。此参考设计是用于无刷直流 (BL...

发表于 2018-10-25 16:02 886次阅读
详细分析11个电机驱动设计方案

基于stm32单片机利用通用定时器输出PWM

第一步:开启时钟使能 RCC-》APB1ENR:1 位 //开启定时器3 时钟使能 第二...

发表于 2018-10-25 15:05 184次阅读
基于stm32单片机利用通用定时器输出PWM

学STM32对你来说有什么好处

STM32是32位的单片机却只要八位单片机的价格,速度也是八位的好几倍。

发表于 2018-10-25 09:06 1655次阅读
学STM32对你来说有什么好处

史上最全STM32调试步骤!

将Jlink与学习板,USB延长线与学习板,串口延长线与学习板(或者USB转串口线与学习板)连接起来...

发表于 2018-10-18 15:42 752次阅读
史上最全STM32调试步骤!

关于初学STM32中肯的几点建议

通过观察后台提问的内容来看,关注我的人中STM32初学者占大部分,而且大多处于小白阶段。所以,今天暂...

发表于 2018-10-17 16:49 600次阅读
关于初学STM32中肯的几点建议

基于SIM800C和STM32 MQTT协议实现...

1、transport_open的作用是初始化模块连网的信息、transport_close作用是关...

发表于 2018-10-17 08:03 520次阅读
基于SIM800C和STM32 MQTT协议实现...

STM32基本系统主要几个部分

其中STM32的JTMS/SWDIO接JTAG口的TMS,STM32的JTCK/SWCLK接JTAG...

发表于 2018-10-16 17:44 541次阅读
STM32基本系统主要几个部分

JSON格式以及cJSON的使用及注意事项

仔细的同学可能会发现为什么调用了两次cJSON_CreateObject,但只看到释放了其中的dev...

发表于 2018-10-16 08:57 834次阅读
JSON格式以及cJSON的使用及注意事项

stm32的八种GPIO配置模式

上拉输入就是在输入电路上使用了上拉电阻。这种模式的好处在于我们什么都不输入时,由于内部上拉电阻的原因...

发表于 2018-10-14 08:20 271次阅读
stm32的八种GPIO配置模式

详解STM32开发板JLINK调试步骤

烧录成功后,按下学习板上的RST按键(学习板最右边的那个按键),这时候4个LED(LED1-LED4...

发表于 2018-10-12 10:32 1309次阅读
详解STM32开发板JLINK调试步骤

STM32中断和事件的对比差异分析

事件是中断的触发源,开放了对应的中断屏蔽位,则事件可以触发相应的中断。

发表于 2018-10-11 08:19 319次阅读
STM32中断和事件的对比差异分析

详细解读STM32基本系统

无论是否使用模拟部分和AD部分,MCU外围出去VCC和GND,VDDA、VSSA、Vref(如果封装...

发表于 2018-10-10 08:44 503次阅读
详细解读STM32基本系统

浅析STM32之霍尔传感器模块

输出电压与外加磁场强度呈线性关系,如图3所示,可见,在B1~B2的磁感应强度范围内有较好的线性度,磁...

发表于 2018-10-07 15:41 347次阅读
浅析STM32之霍尔传感器模块

浅谈STM32F10X SPI操作flash M...

NandFlash是地址数据线复用的方式,接口标准统一(x8bit和x16bit),所以不同容量再兼...

发表于 2018-10-07 11:37 503次阅读
浅谈STM32F10X SPI操作flash M...

如何解决STM32调试无法进入main函数的问题...

本文主要详细介绍了怎么解决STM32调试无法进入main函数的问题?

发表于 2018-10-05 10:06 457次阅读
如何解决STM32调试无法进入main函数的问题...

一文读懂STM32的基本系统

本文主要详细介绍了STM32的基本系统,具体的跟随小编一起来了解一下。

发表于 2018-10-05 08:48 429次阅读
一文读懂STM32的基本系统

STM32基本系统详细介绍

无论是否使用模拟部分和AD部分,MCU外围出去VCC和GND,VDDA、VSSA、Vref(如果封装...

发表于 2018-10-04 14:13 937次阅读
STM32基本系统详细介绍

如何学习STM32?STM32入门学习经验总结

当我们在入门之前(ARM是这样,DSP也一样),总会有很多疑问,会有很多顾虑。我们渴望知道学习STM...

发表于 2018-10-03 19:45 663次阅读
如何学习STM32?STM32入门学习经验总结

STM32的基本系统是怎样的?

无论是否使用模拟部分和AD部分,MCU外围出去VCC和GND,VDDA、VSSA、Vref(如果封装...

发表于 2018-10-03 11:54 344次阅读
STM32的基本系统是怎样的?

适用于STM32的五大嵌入式操作系统,你要的应有...

各有优劣,根据需求选择!

发表于 2018-10-01 16:25 1153次阅读
适用于STM32的五大嵌入式操作系统,你要的应有...

深度解析STM32外设配置冲突问题

I2C1使用PB6和PB7口,定时器TIM3使用PB0\PB1\PB4\PB5做4路PWM。但在使用...

发表于 2018-09-30 17:29 910次阅读
深度解析STM32外设配置冲突问题

深入探讨FLASH被非法改写的问题

问题描述: 某STM32客户反馈, 当STM32F407V芯片频繁的正常通断电的时候,FLASH 会...

发表于 2018-09-29 11:51 512次阅读
深入探讨FLASH被非法改写的问题

STM32上的CAN通讯是什么?CAN模式功能的...

一.工作模式 通过CAN_MCR寄存器控制INRQ和SLEEP 1.初始化INRQ=1 SLEEP=...

发表于 2018-09-24 19:37 1118次阅读
STM32上的CAN通讯是什么?CAN模式功能的...

使用STM32开发为什么要先开启外设模块?什么时...

1.为什么我们要先开启STM32外设模块时钟; 2.关于STM32的 I/O 复用功能及什么时候开...

发表于 2018-09-24 12:35 438次阅读
使用STM32开发为什么要先开启外设模块?什么时...

实操经验分享——在STM32上移植Linux

刚从硬件跳槽为嵌软时,没有任何一丝的准备。一入职,领导就交代了一项特难的任务——在stm32上移植l...

发表于 2018-09-17 17:01 990次阅读
实操经验分享——在STM32上移植Linux

浅析STM32的五种嵌入式操作系统的特点及不足

基于STM平台且满足实时控制要求操作系统,有以下5种可供移植选择。分别为μClinux、μC/OS-...

发表于 2018-09-15 09:28 789次阅读
浅析STM32的五种嵌入式操作系统的特点及不足

在Keil环境编程中发现STM32内存管理存在的...

非常简单的一个工程,没有用到任何IO操作,与STM32有关的仅仅只有芯片的选择,即其SRAM大小有区...

发表于 2018-09-12 16:15 888次阅读
在Keil环境编程中发现STM32内存管理存在的...

意法半导体宣布与TomTom 合作,推出用于ST...

据外媒报道,意法半导体(STMicroelectronics)宣布与TomTom (TOM2)宣布合...

发表于 2018-09-11 10:51 1399次阅读
意法半导体宣布与TomTom 合作,推出用于ST...

浅析STM32的五大嵌入式操作系统的特点及不足

基于STM平台且满足实时控制要求操作系统,有以下5种可供移植选择。分别为μClinux、μC/OS-...

发表于 2018-09-10 17:26 956次阅读
浅析STM32的五大嵌入式操作系统的特点及不足

浅析STM32之GPIO结构

如果CPU写入的是逻辑1,则编号3的N-MOS管将处于关闭状态,此时IO端口的电平将由外部的上拉电阻...

发表于 2018-09-09 10:16 308次阅读
浅析STM32之GPIO结构

基于STM32和ESP8266的物联网控制系统

整个系统的硬件构成是:主控STM32F103C8T6、wifi模块ESP8266、温湿度传感器SHT...

发表于 2018-09-06 15:52 1579次阅读
基于STM32和ESP8266的物联网控制系统

基于STM32驱动CC1101的程序分析 浅谈C...

命令滤波这里和TFT的写0x22是一样的,它就自动跳转到寄存器的出口。

发表于 2018-09-06 11:01 807次阅读
基于STM32驱动CC1101的程序分析 浅谈C...

stm32+cc1101无线接收数据不稳定? 浅...

最后一步是从STOP模式怎么恢复了,恢复其实也很简单,外部中断来了会进入中断函数,然后STM32就被...

发表于 2018-09-06 10:49 718次阅读
stm32+cc1101无线接收数据不稳定? 浅...

如何利用STM32微控制器来设置和执行图像识别

不论是人脸、文本或其他图像数据,使用嵌入式系统执行现场图像识别的需求与日俱增。许多实现需要昂贵的高端...

发表于 2018-09-04 11:04 4713次阅读
如何利用STM32微控制器来设置和执行图像识别

详解STM32中定时器的时钟源

STM32中有多达8个定时器,其中TIM1和TIM8是能够产生三对PWM互补输出的高级定时器,常用于...

发表于 2018-09-03 17:14 875次阅读
详解STM32中定时器的时钟源

如何使用STM32设计嵌入式以太网控制门禁系统

门禁系统主要由意法半导体公司的主控芯片STM3H、Microchip公司的以太网控制器ENC28J6...

发表于 2018-09-03 11:06 1218次阅读
如何使用STM32设计嵌入式以太网控制门禁系统

新旧版ST电机驱动库对比与软件库SDK5.0的评...

原来STM32的开发以标准外设库为主,所以以前的FOC4.3是基于标准外设库的,而现在STM32以S...

发表于 2018-08-29 16:01 1355次阅读
新旧版ST电机驱动库对比与软件库SDK5.0的评...

STM32F7x0和H7x0超值系列(Value...

高端的STM32H750在400MHz时CoreMark测试取得2020分,并在TFT控制器和Chr...

发表于 2018-08-22 11:03 320次阅读
STM32F7x0和H7x0超值系列(Value...

单片机学习汇总资料:FSMC的三个配置寄存器

RTC时钟配置必须要用到BKP寄存器,BKP寄存器在单片机复位、电源复位、待机唤醒模式下是不会更改值...

发表于 2018-08-21 09:42 2288次阅读
单片机学习汇总资料:FSMC的三个配置寄存器

开发STM32除了MDK-ARM和IAR,还可以...

有人问:MDK-ARM和IAR都是属于商业版的软件,为什么还有那么多开发STM32的人都在使用?有什...

发表于 2018-08-18 11:12 1271次阅读
开发STM32除了MDK-ARM和IAR,还可以...