第4章 ARM硬件结构及应用(7~9).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章ARM硬件结构及应用(7~9)第4章ARM硬件结构及应用(7~9)

LPC和STM32系列ARM硬件结构与应用 1.LPC和STM32 简介 2.STM32固件库 3.系统控制模块 4.引脚连接模块 5.GPIO操作 6.向量中断控制器 7.外中断输入 7 外部中断输入 7 外部中断输入 7 外部中断输入 7 外部中断输入 7 STM32 外部中断 特性 7 STM32 外部中断 7 STM32 外部中断 7 STM32 外部中断 7 STM32 外部中断 7 STM32 外部中断 7 STM32 外部中断 8 定时器 LPC 定时器特性 8 定时器 功能简介 8 定时器 分频器结构描述 定时器中断——定时器与VIC的关系 8 定时器 使用定时器的注意要点 STM32 定时器/计数器 STM32中一共有11个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器。 基本定时器:TIM1 TIM8 TIM2 TIM3 TIM4 TIM5 TIM6 TIM7 。 ? ?? ??? 其中TIM1和TIM8是能够产生3对PWM互补输出的高级登时其,常用于三相电机的驱动,时钟由APB2的输出产生。TIM2-TIM5是普通定时器,TIM6和TIM7是基本定时器,其时钟由APB1输出产生。 STM32 定时器使用 定时频率计算:f=(72M/(TIM_Prescaler+1)*(1+TIM_Period))?; 定时器的基本设置: 2、设置预分频数,得到CK_CNT, ? TIM_TimeBaseStructure.TIM_Prescaler?=?7199; ?????????CK_CNT的计数频率=72M/(7199+1)=10K; 3、设置自动重装载寄存器,当计数值达到这个寄存器锁存数值时,溢出产生事件 ? TIM_TimeBaseStructure.TIM_Period?=?9999; ?????????10K/(9999+1)=1HZ?,也就是1S溢出一次; STM32 定时器使用 4、设置计数模式 TIM_TimeBaseStructure.TIM_CounterMode?=?TIM_CounterMode_Up;?从0计数到ARR产生溢出事件; 5、?设置时间分割值?? ?TIM_TimeBaseStructure.TIM_ClockDivision?=?TIM_CKD_DIV1?;? 6、?初始化定时器2 ? TIM_TimeBaseInit(TIM2,?TIM_TimeBaseStructure); 7、清楚标志 TIM_CleaRFlag(TIM2,?TIM_FLAG_Update); 8、打开定时器 ? TIM_Cmd(TIM2,?ENABLE); STM32 定时器使用 9、在主函数中查询TIM_FLAG_Update标志置位了就清除标志: ?if(TIM_GetFlagStatus?(TIM2,TIM_FLAG_Update?)!=RESET) ?{ TIM_ClearFlag?(TIM2,TIM_FLAG_Update); if(?GPIO_ReadOutputDataBit(GPIOA,?GPIO_Pin_8)==0) GPIO_WriteBit(GPIOA,GPIO_Pin_8,Bit_SET);? else? GPIO_WriteBit(GPIOA,GPIO_Pin_8,Bit_RESET);? } STM32 定时器使用 利用中断的方法: 步骤1-6如同上,增加中断设置 7、 打开中断???溢出中断??? ? TIM_ITConfig(TIM2,?TIM_IT_Update,?ENABLE);?? 8、?打开定时器 TIM_Cmd(TIM2,?ENABLE); STM32 定时器使用 中断配置: NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1)?; NVIC_InitStructure.NVIC_IRQChannel=TIM2_IRQChannel; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0; NVIC_InitStructure.NVIC_IRQChannelSubPriority=0; NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; NVIC_Init(NVIC_InitStructure);?? STM32 定时器

文档评论(0)

cxiongxchunj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档