stm32的外设初始化步骤,以定时器为例。
来源:互联网 发布:mac如何更改文件夹 编辑:程序博客网 时间:2024/06/14 02:37
我这个程序的目的在于让定时器开启更新中断,实现定时器1S中断一次然后在中断函数中LED电平翻转一次。
1.首先先开启这个外设的时钟:RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); //开启定时器1 的时钟APB2
2.定义这个外设的初始化结构体:TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure; //定时器模式初始化结构体 定义别名为TIM_TimeBaseInitStructure
3.把这个结构体内成员参数设置:
TIM_TimeBaseInitStructure.TIM_Period = 9999; //自动重装载值 0-9999 大概为1s翻转电平 周期为2s
TIM_TimeBaseInitStructure.TIM_Prescaler=7199; //定时器分频 72M/7200=10000hz
TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上计数模式
TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1; //滤波器的分频因子
4.调用这个外设的初始化函数:TIM_TimeBaseInit(TIM1,&TIM_TimeBaseInitStructure);
5.允许定时器1中断开启:TIM_ITConfig(TIM1,TIM_IT_Update,ENABLE ); //使能指定的TIM1中断,允许更新中断
6.外设的使能开启:TIM_Cmd(TIM1, ENABLE); //使能TIM1
7.因为这个是定时器的中断所以还需设置中断优先级。抢占以及响应优先级的设置。NVIC。每个中断都需设置一个。
//中断优先级NVIC设置
NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQn; //TIM1中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //先占优先级0级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //从优先级3级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
NVIC_Init(&NVIC_InitStructure); //初始化NVIC寄存器
8.整个系统的设置中断分组,只需设置一次:一般在main函数中调用一次就OK。
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
9.编写中断服务函数: void TIM1_UP_IRQHandler(void) //TIM1中断
留此为证。
- stm32的外设初始化步骤,以定时器为例。
- STM32添加外设的步骤
- 找出stm32的库函数外设初始化应用规律
- muduo的TCPserver端初始化步骤,以EchoServer_unittest.cc为例
- stm32中断学习篇(1)——以定时器为例
- stm32外设初始化和设置过程
- STM32 GPIO初始化步骤
- STM32 TIMER初始化步骤
- 定时器初始化步骤
- 51定时器初始化步骤
- 以stm32的TIM2作为实例一步步配置成为定时器
- 自定义view的基本思路与步骤(以radioButton为例)
- JDBC操纵数据库的步骤(以SQLServer为例)
- 数据库置疑的处理步骤(以数据库'shop07'为例)
- stm32的外设的应用函数定义
- STM32借用固件库使用外设的说明
- 学习笔记----stm32的usb外设概述
- STM32 DMA外设地址的计算问题
- STL中的迭代器
- 学生信息管理系统---SQL语句的中的符号有什么用(二)
- C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新)
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- hud 6038 Function
- stm32的外设初始化步骤,以定时器为例。
- 高性能MySQL之Count统计查询
- MyBatis中的动态SQL
- https://unsplash.it API获取图片
- CentOS7 Apache+Mono Web站点部署
- 《深入理解java虚拟机》学习-第一章-走进java
- android 批量打渠道包
- C# new和初始化
- css继承和非继承属性