STM32系列的CPU.docxVIP

  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文档。上传文档
查看更多
STM32系列的CPU

STM32系列的CPU,有多达8个定时器 其中TIM1和TIM8是能够产生三对PWM互补输出的高级定时器,常用于三相电机的驱动,APB2 其他6个为普通定时器,APB1 定时器的作用: 定时 计数 输入捕获 匹配输出 PWM脉冲波 功能描述: 定时器还可以与定时器形成级联,组建更大的定时范围。 NOTE:只要你使用默认的库配置方式配置时钟为72M,无论TIM1还是TIMX,他们的计数器频率都是72M。 一、关于框图: TIMx_ETR: TIMER外部触发引脚 ETR: 外部触发输入 ETRP: 分频后的外部触发输入 ETRF: 滤波后的外部触发输入 ITRx: 内部触发x(由另外的定时器触发) TI1F_ED: TI1的边沿检测器。 TI1FP1/2: 滤波后定时器1/2的输入 TRGI: 触发输入?? TRGO: 触发输出?? CK_PSC: 应该叫分频器时钟输入 CK_CNT:定时器时钟。(定时周期的计算就靠它) TIMx_CHx: TIMER的输入脚?? TIx: 应该叫做定时器输入信号x ICx: 输入比较x??ICxPS: 分频后的ICx OCx: 输出捕获x??OCxREF: 输出参考信号 关于框图要注意的: 时钟源(参考STM32定时器时钟源) 输入滤波(参考STM32定时器的输入滤波机制) 3.输入引脚和输出引脚是相同的。 二、时基: 时基单元包含: ● 预分频器寄存器 (TIMx_PSC) ● 计数器寄存器(TIMx_CNT) ● 自动装载寄存器 (TIMx_ARR) CNT的计数方式分三种: 向上、向下、中央对齐。 通俗的说就是0—ARR、ARR—0、0—(ARR-1)—ARR—1. 三、时钟源: 内部时钟(参考STM32定时器时钟源) 外部时钟模式1 以T2举例 例如,要配置向上计数器在T12输入端的上升沿计数,使用下列步骤: 1. 配置TIMx_CCMR1寄存器CC2S=’01’,配置通道2检测TI2输入的上升沿 2. 配置TIMx_CCMR1寄存器的IC2F[3:0],选择输入滤波器带宽(如果不需要滤波器,保持IC2F=0000) 注: 捕获预分频器不用作触发,所以不需要对它进行配置 3. 配置TIMx_CCER寄存器的CC2P=’0’,选定上升沿极性 4. 配置TIMx_SMCR寄存器的SMS=’111’,选择定时器外部时钟模式1 5. 配置TIMx_SMCR寄存器中的TS=’110’,选定TI2作为触发输入源 6. 设置TIMx_CR1寄存器的CEN=’1’,启动计数器 当上升沿出现在TI2,计数器计数一次,且TIF标志被设置。 外部时钟模式2 选定此模式的方法为:令TIMx_SMCR寄存器中的ECE=1 计数器能够在外部触发ETR的每一个上升沿或下降沿计数。 例如,要配置在ETR下每2个上升沿计数一次的向上计数器,使用下列步骤: 本例中不需要滤波器,置TIMx_SMCR寄存器中的ETF[3:0]=0000 设置预分频器,置TIMx_SMCR寄存器中的ETPS[1:0]=01 3. 设置在ETR的上升沿检测,置TIMx_SMCR寄存器中的ETP=0 4. 开启外部时钟模式2,置TIMx_SMCR寄存器中的ECE=1 5. 启动计数器,置TIMx_CR1寄存器中的CEN=1 计数器在每2个ETR上升沿计数一次。 从图上可以看出ETR可以直接作为时钟输入也可以通过触发输入(TRGI)来作为时钟输入即在时钟模式1中触发源选择为ETR,两个效果上是一样的,看起 来好像这个外部时钟模式2没什么用处,实际上不是的,他可以跟一些从模式(复位、触发、门控)进行组合。比如当从模式选为触发时,我们不可能再通过触发源 选择ETR了,因为从模式控制器被占了,好在有外部时钟模式2,我们选择这种模式后就可以把两者组合在一起完成一些功能了。 总结一下,STM32的时钟选择比较特别,在SFR中关于时钟选择配置位不再一块,不是说两个位在一起00、01、11就选择了而是由 SMCR中SMS和ECE 来控制,这样感觉可以吧内部时钟与外部模式2同时打开(SMS:000,ECE:1),也可以吧外部模式1和外部模式2同时打开(SMS:111,ECE:1),实际上上述两种方式用的都是外部时钟2. 1.PWM输出模式 俩模式,在CCMRX寄存器中OCXM位确定 110:PWM模式1- 在向上计数时,一旦TIMx_CNTTIMx_CCR1时通道1为有效电平,否则为无效电平;在向下计数时,一旦TIMx_CNTTIMx_CCR1时通道1为无效电平(OC1REF=0),否则为有效电平(OC1REF=1)。 111:PWM模式2- 在向上计数时,一旦TIMx_CNTTIMx_CCR1时通道1为无效电

文档评论(0)

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

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

1亿VIP精品文档

相关文档