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

网站seo关键词设置网站功能设计方案

网站seo关键词设置,网站功能设计方案,网站建设搜索,深圳网站关键词优化STM32F1的定时器非常多#xff0c;由两个基本定时器#xff08;TIM6#xff0c;TIM7#xff09;、4个通用定时器#xff08;TIM2-TIM5#xff09;和两个高级定时器#xff08;TIM#xff11;#xff0c;TIM#xff18;#xff09;组成。基本定时器的功能最为简单由两个基本定时器TIM6TIM7、4个通用定时器TIM2-TIM5和两个高级定时器TIMTIM组成。基本定时器的功能最为简单类似于51单片机内定时器。通用定时器是在基本定时器的基础上扩展而来增加了输入捕获与输出比较等功能。高级定时器又是在通用定时器基础上扩展而来增加了可编程死区互补输出、重复计数器、带刹车断路功能这些功能主要针对工业电机控制方面。但无论是哪个定时器它们的频率都为72M。 基本定时器只有向上计数方式且其挂载在APB1总线上只能由内部时钟供能。基本定时器比较简单就跟systic差不多。 这个是stm32的中文手册中的介绍。 图介绍其中自动重装载寄存器(ARR)跟systic中的load寄存器作用一样其作用主要有三部分 设置定时器周期 ARR 决定了基本定时器计数器在溢出从最大值返回0之前所需的计数值。换句话说ARR 值定义了定时器的定时周期。一旦计数器计数达到 ARR 的值定时器将自动重新加载为0并触发一个更新事件。 产生定时中断 当基本定时器的计数器达到 ARR 的值时会触发一个更新事件您可以配置定时器中断来捕获这个事件。这允许您在特定的时间间隔内执行代码以执行定时任务。 生成PWM信号 如果您使用基本定时器来生成PWM信号ARR 将决定PWM信号的周期即高电平和低电平的时间。 基本定时器通常是16位的所以 ARR 可以设置的最大值是 65535。预分频器也是16位的但是在预分频器中数值会自动加1也就是它的取值范围为1到65536因为这个预分频器是作为分母用的分母不能为0如给预分频值设为2-1那么该定时器的频率为32M。 自动重装载寄存器下面还有个影子寄存器这个寄存器是实际起作用的寄存器这个寄存器我们不能人为的去访问基本定时器中的控制寄存器TIMx_CR1有一位ARPE是用来设置自动重装载寄存器是否具有缓冲的stm32中文手册中的图如下 当ARPE位设置为0时该自动重装载寄存器不具备缓冲它会直接把数值传给影子寄存器 当ARPE位设置为1时该自动重装载寄存器具备缓冲它需要一个更新事件的产生才会把数值传给影子寄存器。 我们可以写一个基本定时器的简单代码 void TIM_MyConfig(u16 per,u16 psc) {TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;/*打开时钟*/RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6,ENABLE);/*初始化定时器*/TIM_TimeBaseInitStruct.TIM_ClockDivision TIM_CKD_DIV1 ;TIM_TimeBaseInitStruct.TIM_CounterMode TIM_CounterMode_Up;TIM_TimeBaseInitStruct.TIM_Period per;//自动重装载值TIM_TimeBaseInitStruct.TIM_Prescaler psc; //分频系数TIM_TimeBaseInit(TIM6, TIM_TimeBaseInitStruct);TIM_Cmd(TIM6, ENABLE); }1、第一步打开时钟因为TIM2-TIM都是挂载在APB1总线上的所以我们需要打开APB1时钟我们可以设置为TIM6。 2、初始化定时器这个要注意函数是TIM_TimeBaseInit();这个与其它如GPIO的初始化函数GPIO_Init不一样其中 TIM_ClockDivision是用来设置定时器的时钟分频因子的成员它用于控制定时器时钟的分频从而影响定时器的计数速度。 在STM32中TIM_ClockDivision 的设置有以下选项 TIM_CKD_DIV1: 不分频。定时器的时钟不经过分频以外部时钟源的速度进行计数。 TIM_CKD_DIV2: 分频为2。定时器的时钟被分为2即每2个外部时钟周期计数器增加1。 TIM_CKD_DIV4: 分频为4。定时器的时钟被分为4即每4个外部时钟周期计数器增加1。 但是我们基本定时器使用到的是内部时钟源所以用不到 TIM_ClockDivision可以设置为TIM_CKD_DIV1或者不配置这个成员这个我们只在通用定时器或者高级定时器才用得到 TIM_CounterMode是用来设置计数模式的成员基本定时器只有一种向上计数模式所以这一位设置为TIM_CounterMode_Up就可以了。 TIM_Period是用来设置自动重装载值的成员也就是设置计数次数也就是自动重装载寄存器中的值当计数器的计数值达到该值时会产生一个更新事件这个值我们可以通过传参来设置。 TIM_Prescaler 是用来设置分频系数的值也就是设置多久计数一次该值也可以通过传参来设置。 在main函数中我们可以这样写 void HardWare_Init(void) {TIM_MyConfig(5000-1,7200-1);//0.5秒计数产生一次更新事件 }int main(void) {u8 flag 0;HardWare_Init();while(1){if(TIM_GetFlagStatus(TIM6,TIM_FLAG_Update) SET){flag !flag;}if(flag){PAin(8) 0;}else{PAin(8) 1;}TIM_ClearFlag(TIM6,TIM_FLAG_Update);} }可以通过设置基本定时器来让LED灯按时闪烁其中也用到了位带操作PAin8。因为我们需要判断的是定时器是否发生更新事件当定时器发生更新事件时说明完成了一个计数周期所以我们用到的函数是 TIM_GetFlagStatus(TIM6,TIM_FLAG_Update)。
http://www.hkea.cn/news/14406861/

相关文章:

  • 如何搭建微网站seo交流论坛
  • 亚马逊云服务 网站建设设计网站推荐什么主题
  • 江汉网站建设saas建站平台
  • 衡阳市住房和城乡建设局网站河北抖音seo系统
  • 哪里教做网站的非经营备案网站能贴放广告么
  • 南京建设工程交易中心网站怎么给网站备案
  • 网站后台被百度蜘蛛抓取做网站售后好的公司
  • 郑州 网站建设:全球品牌网
  • 建设网站的风险分析整合营销是什么
  • 如何做免费域名网站学室内设计前景如何
  • 东莞哪家做网站比较好网站建设 报价
  • 王璞网站开发实战答案wordpress 主题 更新
  • 北京建设工程质量协会网站wordpress mu 搜索
  • 重庆网站设计中心百度联盟网站有哪些
  • 保定网站开发公司怎么选择扬中网站建设
  • 网站数据库是什么手机网页界面设计
  • wordpress抓取别人网站电商网站建设实训报告心得
  • 深圳展览设计网站建设手工制作代加工接单网
  • 音乐网站素材php网站开发工具
  • 如何选择营销网站建设dw个人网页制作素材
  • 做网站的实验报告网站编辑如何做原创
  • 有源码后怎么做网站百度收录率高的网站
  • 莘县网站建设返回链接 网站惩罚检查 错误检查
  • 自己网站做问卷调查网站定制公司哪家最权威
  • 网站建设视频讲解网站域名过期不续费
  • 互联网电商网站建设长沙官网优化推广
  • 湖北省建设厅网站证件网络营销有哪些方面
  • 快速网站排名logo设计在线生成免费免费
  • 晋州住房保障建设局网站wordpress用户集成
  • 网站制作成功后怎么使用标签云小工具 wordpress nofollow