STM32通用定时器实现LED灯闪烁
刚才看了一下STM32通用定时器的教程,其实和51的定时器使用差不多。只是因为32的时钟更复杂,可操控的寄存器更多,所以写的时候可能更复杂。
使用通用定时器中断的一般步骤:
1、使能定时器时钟
这个需要看时钟树,使能对应的时钟就好了。这里我使用的是TIM3,所以使能APB1的时钟即可。
2、设置定时器的分频系数和重装载值
定时器中断的时间为:Tout = (arr+1)/[Tclk/(psc+1)]
其实这个定时器中断时间还是要具体分析,这里是这样,其他地方或许不是这样,具体还是要参考《STM32参考手册》。
3、使能定时器中断
4、启动定时器
5、定时器中断初始化,设置它的中断优先级,分组之类的
6、编写中断服务函数
下面是对应的代码
//初始化定时器
void TIMER_Init(u16 psc,u16 arr){
RCC->APB1ENR = <<; //使能定时器时钟
TIM3->PSC = psc; //设置预分频系数
TIM3->ARR = arr; //设置重装载值
TIM3->DIER |= <<; //使能定时器中断
TIM3->CR1 |= <<; //启动定时器
MY_NVIC_Init(,,TIM3_IRQn,); //定时器中断初始化
} //中断服务函数
void TIM3_IRQHandler(){
if(TIM3->SR&0x0001)LED0 = ~LED0;
TIM3->SR &= ~(<<); //清除中断标志
}
STM32通用定时器实现LED灯闪烁的更多相关文章
- STM32通用定时器(转载)
STM32的定时器功能很强大,学习起来也很费劲儿. 其实手册讲的还是挺全面的,只是无奈TIMER的功能太复杂,所以显得手册很难懂,我就是通过这样看手册:while(!SUCCESS){看手册-}才搞明 ...
- STM32——通用定时器基本定时功能
STM32——————通用定时器基本定时功能 1. ...
- Arduino 翻译系列 - LED 灯闪烁
原文地址 - https://www.arduino.cc/en/Tutorial/Blink 闪烁 这个例子展示了你能拿 Arduino / Genuino 板子来干的最简单的事:使开发板上的 LE ...
- STM32通用定时器原理
/************************************************************************************************ 转载 ...
- STM32 通用定时器的几种配置方式
STM32 通用定时器的几种配置方式 //------------------------------------------------------------------------------ ...
- STM32通用定时器配置
一.STM32通用定时器原理 STM32 系列的CPU,有多达8个定时器,其中TIM1和TIM8是能够产生三对PWM互补输出的高级定时器,常用于三相电机的驱动,它们的时钟由APB2的输出产生.其它6个 ...
- 树莓派开机运行Python脚本 控制LED灯闪烁
一.新建一个开机运行文件 在 /home/pi/.config 下创建一个文件夹,名称为 autostart,并在该文件夹下创建一个led.desktop文件(文件名以.desktop结尾) 编辑le ...
- 1个LED灯闪烁的Arduino控制
控制任务和要求 让一个LED灯闪烁 接线 程序设计 1 int half_cycle=1000; // define the cycle time of LED blink 2 int LED_pin ...
- stm32通用定时器中断问题
在使用stm32的通用定时器定时中断的时候,发现定时器在完成初始化配置后,定时器UIF位会立刻置位,导致在使能中断后,程序会立刻进入定时器中断. 如果设计代码时不希望定时器配置完成后,立刻进入中断,可 ...
随机推荐
- intellij idea 中添加maven远程仓库
在intellij idea 中配置好maven后 是这样的 如果加载失败,则需要自定义远程仓库,这里以阿里maven仓库为例, 在项目的pom文件中添加以下配置 <repositories&g ...
- vijos 1907 DP+滚动数组
描述 Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一不小心撞到了水管或者掉在地上的话,便宣告 ...
- 【bzo1579】拆点+dijkstra优先队列优化+其他优化
题意: n个点,m条边,问从1走到n的最短路,其中有K次机会可以让一条路的权值变成0.1≤N≤10000;1≤M≤500000;1≤K≤20 题解: 拆点,一个点拆成K个,分别表示到了这个点时还有多少 ...
- UOJ#204 【APIO2016】Boat
Time Limit: 70 Sec Memory Limit: 256 MBSubmit: 559 Solved: 248 Description 在首尔城中,汉江横贯东西.在汉江的北岸,从西向 ...
- HDU 1548 A strange lift (广搜)
题目链接 Problem Description There is a strange lift.The lift can stop can at every floor as you want, a ...
- 【Zigbee技术入门教程-02】一图读懂ZStack协议栈的核心思想与工作机理
[Zigbee技术入门教程-02]一图读懂ZStack协议栈的核心思想与工作机理 广东职业技术学院 欧浩源 Z-Stack协议栈是一个基于任务轮询方式的操作系统,其任务调度和资源分配由操作系统抽 ...
- ubuntu安装wifi
因为需要测试app,但是自己本地是deepin.如果win下的话直接安装一个wifi万能管家啥的就完事儿了.可是这个是linux 有点不同.所以就进行百度学习了一波.特此分享. 需要用到的工具 hos ...
- Lodash使用示例(比较全)
<html> <head> <meta name="viewport" content="width=device-width" ...
- sicily 1172. Queens, Knights and Pawns
Description You all are familiar with the famous 8-queens problem which asks you to place 8 queens o ...
- 【HDU5306】Gorgeous Sequence
这个题目是Segment-Tree-beats的论文的第一题. 首先我们考虑下这个问题的不同之处在于,有一个区间对x取max的操作. 那么如何维护这个操作呢? 就是对于线段树的区间,维护一个最大值标记 ...