当前位置: 首页 > news >正文

ppt模板免费下载网站哪个好微信电脑版

ppt模板免费下载网站哪个好,微信电脑版,装修公司装饰,抖音分享小程序怎么赚钱STM32F4X 定时器中断 什么是定时器STM32F4X 定时器分类有关定时器的概念预分频(PSC)自动重装载值(ARR) STM32F4X定时器例程定时器相关函数定时器例程 什么是定时器 定时器(Timer)最基本的功能就是定时#xff0c;比如定时翻转LED灯#xff0c;定时向串口发送数据等。除此之外… STM32F4X 定时器中断 什么是定时器STM32F4X 定时器分类有关定时器的概念预分频(PSC)自动重装载值(ARR) STM32F4X定时器例程定时器相关函数定时器例程 什么是定时器 定时器(Timer)最基本的功能就是定时比如定时翻转LED灯定时向串口发送数据等。除此之外定时器还可以跟GPIO结合使用利用定时器产生PWM波形利用定时器捕捉电平信号等。本章先来讲解定时器的最基本的用法定时功能。 STM32F4X 定时器分类 STM32F4X将定时器分成3类分别是基本定时器通用定时器和高级定时器不同类型的定时器功能不同。下图是STM32F4X的定时器分类以及功能。本章会用基本定时器也就是TIM6或者TIM7来进行讲解。 有关定时器的概念 预分频(PSC) 定时器想要工作首先要用时钟时钟的作用是给定时器一个时基让定时器按照这个时基单元进行计数。在STM32F4中定时器是的时钟源是APB时钟。比如APB的时钟是84MHz,那么定时器的时钟就是84MHz。而预分频的作用是对定时器的时钟源进一步细分得到用户想要的时钟频率。比如用户觉得84MHz的时钟频率太高了想得到一个42MHz的频率就可以往定时器的预分频寄存器里面写1(注意:定时器的预分频寄存器会将预分频系数自动加1)就会得到42MHz的频率。 要注意的时定时器的时钟源会根据硬件自动选择具体如下图所示。 高级定时器timer1, timer8以及通用定时器timer9, timer10, timer11的时钟来源是APB2总线。 通用定时器timer2 ~ timer5通用定时器timer12 ~ timer14以及基本定时器timer6,timer7的时钟来源是APB1总线。 自动重装载值(ARR) 上面的预分频寄存器设置了定时器的计数频率那么用户要怎样才能得到想要的定时值呢这就需要自动重装载值寄存器了。自动重装载寄存器的作用是设置定时器的溢出值当定时器计数超过自动重装载值寄存器里面值的时候就会产生一个溢出中断。下面举个例子说明一下。 比如现在需要一个500ms的定时器APB时钟是84MHz我们可以这样设置。 预分频系数设置为8399即定时器的计数频率为84Mhz / 8400 10KHZ,定时器每隔10KHz计一次数也就是0.1ms记一次数想要得到500ms的定时时间只需要往自动重装载值寄存器里面写4999即可也就是0.1*5000 500ms。 定时器的计算公式如下 Tout (1 / (Tclk / (psc 1))) * (arr 1) Tout:定时器溢出值 Tclk:定时器时钟频率 psc:定时器预分频值 arr:自动重装载值 STM32F4X定时器例程 定时器相关函数 /* 定时器初始化函数 TIMx:定时器索引 TIM_TimeBaseInitStruct:定时器初始化结构体 */ void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)/* 定时器中断使能函数 TIMx:定时器索引 TIM_IT:定时器中断类型 NewState:定时使能 */ void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState NewState)/* 定时器获取中断状态函数 TIMx:定时器索引 TIM_IT:定时器中断类型 返回值:定时器中断状态 */ ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_t TIM_IT)/* 定时器清除中断状态函数 TIMx:定时器索引 TIM_IT:定时器中断类型 */ void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, uint16_t TIM_IT)定时器例程 该例程是使用定时器7产生一个500ms的中断 #include timer.hvoid bsp_timer_init(void) {TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;NVIC_InitTypeDef NVIC_InitStruct;RCC_ClocksTypeDef RCC_Clocks;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM7,ENABLE); // 使能定时器7时钟TIM_TimeBaseInitStruct.TIM_ClockDivision TIM_CKD_DIV1; TIM_TimeBaseInitStruct.TIM_CounterMode TIM_CounterMode_Up; // 向上计数模式TIM_TimeBaseInitStruct.TIM_Period 4999; // 重装值为5000 500ms中断一次TIM_TimeBaseInitStruct.TIM_Prescaler 8399; // 预分配值为8400 即84000000/8400 10KHZ 0.1ms计一次书TIM_TimeBaseInit(TIM7,TIM_TimeBaseInitStruct); // 初始化定时器7NVIC_InitStruct.NVIC_IRQChannel TIM7_IRQn;NVIC_InitStruct.NVIC_IRQChannelCmd ENABLE;NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority 2;NVIC_InitStruct.NVIC_IRQChannelSubPriority 2;NVIC_Init(NVIC_InitStruct); // 配置定时器7 NVIC中断TIM_ITConfig(TIM7,TIM_IT_Update,ENABLE); // 使能更新中断TIM_Cmd(TIM7,ENABLE); // 使能定时器7}void TIM7_IRQHandler(void) {if(TIM_GetFlagStatus(TIM7,TIM_IT_Update) SET) // 判断是否为定时器7更新中断{printf(%s\r\n,__func__);TIM_ClearITPendingBit(TIM7,TIM_IT_Update); // 清除定时器7更新中断}} 打开Xcom串口助手勾选时间戳功能可以看到串口每隔500ms就进入中断并打印信息。
http://www.hkea.cn/news/14392231/

相关文章:

  • 做详情页比较好的网站网络营销实训报告
  • h5制作企业网站有哪些优势福田企业网站推广公司
  • 南京外贸网站建设报价wordpress同步至订阅号
  • 证书兼职的人才网站网页设计网站首页代码
  • 做微网站的公司哪家好呢如何优化网站目录结构
  • 10m带宽做下载网站网站结构分析具体分析内容
  • 网站授权协议兰州市住房建设局网站
  • 无人机网站建设如何从客户网站开发客户
  • 农村电子商务网站建设方案godaddy主机wordpress
  • 网站支付接口怎么做哪家公司可以做网站
  • 张店网站制作设计公司青岛关键词优化排名
  • 网站备案名称填写规则广州网站开发网络公司
  • 公司网站备案是什么意思哈尔滨招标信息网
  • 免费网页搭建宁波关键词优化时间
  • 商城属于电商网站吗企业网站首页设计评价
  • 温州英文网站建设电商是做什么的简易运营模式
  • 为什么我的wordpress显示不了图片网络优化公司排名
  • 2016企业网站建设方案做网站的
  • app比网站的优势seo免费诊断
  • 深圳龙岗区住房和建设局网站官网企业门户网站建设报价
  • 东莞h5网站制作怎么增加网站外链
  • 做网站 广告收入网站维护总结
  • 国外做logo的网站二级域名站群
  • 购门户网站系统榆林网站建设公司
  • 中文 网站模板怎么样让公司网站
  • 专业手机网站建设平台wordpress+用户前台
  • 网站怎么识别PC 手机wordpress和帝国cms
  • 南宁建设厅网站是什么浙江网络推广公司
  • 网站排名优化效果公司网站建设费用 知乎
  • 壹财富 网站开发东莞哪里有网站建设厂家