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

山西网站建设 哪家好wordpress国产主题推荐

山西网站建设 哪家好,wordpress国产主题推荐,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.dnsts.com.cn/news/234500.html

相关文章:

  • 电商网站开发难点建设学院网站
  • 一个外国人做汉字网站专业做衬衫哪个网站
  • 怀化组织部网站网站设计怎么算间距
  • 网站运营存在的问题网站安装出现dir
  • 查询网站服务商怎么做seo网站推广
  • visual c 网站开发成都 做网站
  • 石家庄网站推广服务平台为什么要给企业建设网站
  • 新能源课件网站开发新能源网页设计总结收获和体会
  • 开个免费的网站多少钱西安专业网站建设服务好
  • html5做网站导航wordpress 动画插件
  • 国外做的比较好的网站网站的维护及建设
  • wordpress一直有人登录asp网站 seo
  • 铜煤建设网站丰台路网站建设
  • 网站多语言包哪里有做网站推广的
  • 购物网站建设精英哪家专门做特卖的网站
  • 深圳app开发网站建设衡阳微信网站开发
  • 做产品网站营销推广源汇区建设局网站
  • 做投资的网站做家具定制的设计网站
  • 网站建设 毕业设计新密市城乡建设局网站
  • 基于p2p的网站建设珠海市建设工程造价协会网站
  • 怎么用自己主机做网站网站建设咨询服务合同
  • 宁波哪个公司建网站旅游网站需求分析
  • 湖北省建设厅官方网站文件运城建设银行网站点
  • 加强网站建设技术培训乐清网页制作哪家好
  • 网站认证空间网站二级目录建站
  • 在手机上建设网站教程排名优化哪家专业
  • 沙坪坝做网站网站打开太慢
  • 用什么软件做网站设计找销售的网站
  • 查询建设用地规划许可证在哪个网站青岛网站建设公司招聘
  • 美橙互联同类型网站与网站建立的链接不安全怎么办