首页 STM32舵机控制程序

STM32舵机控制程序

举报
开通vip

STM32舵机控制程序STM32舵机控制程序 你看寄存器看得多,对你初步阶段学习库函数并没有帮助。 另外,介绍一下我学习库函数的过程: 首先把stm32的RCC模块搞清楚,时钟树手册上有图解。这个是学习stm32必须了解的。记住,学习RCC模块也不要去纠结寄存器的操作,只要知道哪部分是sysclk,哪部分是HCLK,那部分是PCLK,哪部分是SysTick。等等。 然后就是一个个模块去学习,网上的例程能搜出一大把,都是标准的库函数操作方式。最好从gpio模块入手。 慢慢会发现,库函数操作每个模块的方式都非常相似,相信你搞懂了三个...

STM32舵机控制程序
STM32舵机控制程序 你看寄存器看得多,对你初步阶段学习库函数并没有帮助。 另外,介绍一下我学习库函数的过程: 首先把stm32的RCC模块搞清楚,时钟树手册上有图解。这个是学习stm32必须了解的。记住,学习RCC模块也不要去纠结寄存器的操作,只要知道哪部分是sysclk,哪部分是HCLK,那部分是PCLK,哪部分是SysTick。等等。 然后就是一个个模块去学习,网上的例程能搜出一大把,都是标准的库函数操作方式。最好从gpio模块入手。 慢慢会发现,库函数操作每个模块的方式都非常相似,相信你搞懂了三个模块以后,碰到问题你都能自己想办法解决了。 请问STM8S103中设置捕获PC6的信号,这样设置可以吗?高低电平时间都要捕获 请问这样设置捕获可以吗? TIM1_DeInit(); TIM1->SCRH=0X03; TIM1->SCRL=0X1F;//设置分频=800,计800/16=50us记数周期 TIM1->CCER1&=0XFE;//禁止输入捕获1 TIM1->CCMR1|=0X01;//PC6(CH1)到ti1fp1 TIM1->CCER1&=0XEC;//CH1 上升沿触发 TIM1->IER|=0X02;//势能中断CH1 TIM1->CCER1|=0X01;//使能输入捕获1 TIM1_Cmd(ENABLE);//使能计数 rim(); // 允许CPU全局中断 中断中的程序如下: if(TIM1_GetITStatus(TIM1_IT_CC1)) { TIM1_ClearITPendingBit(TIM1_IT_CC1); if(GPIOC->IDR&0x40) TIM1->CCER1|=0X02;//ch1 下降沿触发 else TIM1->CCER1&=0XEC;//ch1 上升沿触发 tmpcntr=TIM1_GetCapture1(); TIM1_Cmd(ENABLE);//使能计数 } 定时器, 装载 STM8 TIM 定时器使用要点: STM8的定时器功能很强大,给使用上带来不少麻烦。初学STM8,总结了以下《STM8 TIM 定时器使用要点》,如有不正确之处,请指正。 联系QQ:357641612 Email: [url=mailtoelong_z@163.com]Delong_z@163.com[/url] 1、分频: TIM1 可以在(1~65536)之间任意分频: Fck_cnt=Fck_psc/(PSCR[15:0]+1) 先写高字节,后写低字节,更新事件后生效。 TIM2/TIM3/TIM5 可以在(1~32768)之间以2的幂分频: Fck_cnt=Fck_psc/(2^(PSCR[3:0])) 更新事件后生效。 2、预装载: ARR/OCiR预装载允许时(ARPE=1 OCiPE=1),写入的寄存器值不会直接进入影子寄存器,需要发生一次更新事件后,才生效。 ARR/OCiR预装载禁止时(ARPE=0 OCiPE=0),写入的寄存器值直接进 入影子寄存器,立即生效,因此可能造成第一次的波形不正常。 3、更新: 置位TIMx_EGR的UG位可以软件生成一个更新事件。 向上计数方式时,CNT从ARR跳变到0时产生更新事件。 向下计数方式时,CNT从0跳变到ARR时产生更新事件。 向上/向下计数方式时(中央对齐模式),OCRi寄存器的值是比较值(OCiREF的有效时间)的一半,ARR寄存器的值是 实际周期值(不用-1)的一半,CNT从ARR-1增加到ARR时产生上溢事件,CNT从1减少到0时产生下溢事件。 安全使用中央对齐模式的计数器的方法是在启动计数器之前先用软件(置位TIM1_EGR寄存器的UG位)产生一个更新事件,并且不在计数器计数时修改计数器的值。 4、PWM模式: PWM边沿对齐PWM1模式,向上计数时,CCRx正确取值范围为(0~ARR): CCRx=0 时,产生全无效电平(产生占空比为0%的PWM波形)。 CCRx<=ARR 时,产生CCRx个有效电平(产生占空比为 CCRx/(ARR+1)*100% 的PWM波形)。 CCRx>ARR 时,产生全有效电平。 PWM边沿对齐PWM1模式,向下计数时,CCRx正确取值范围为(0~ARR): CCRx=0 时,不能产生占空比 0% 的PWM波形(产生占空比为1/(ARR+1)*100%的PWM波形)。 CCRx<=ARR 时,产生CCRx+1个有效电平(产生占空比为 (CCRx+1)/(ARR+1)*100% 的PWM波形)。 CCRx>ARR 时,产生全有效电平。 5、单脉冲模式 这种模式允许计数器响应一个激励,并在一个程序可控的延时之后产生一个脉宽可控的脉冲。 仅当比较值与计数器的初始值不同时,才能产生一个脉冲。启动之前(当定时器正在等待触发),必须如下配置: 向上计数方式:计数器CNT < CCRi ? ARR, 向下计数方式:计数器CNT > CCRi。 6、捕获脉冲: 自动复位计数器方式下的PWM输入信号测量(参见RM0016 英文版P167/中文版P132): 在该模式下,可以方便地测试输入信号的周期(频率/转速)和占空比。 TIMx_CCR1的 寄存器值+1 就是周期计数值,TIMx_CCR2的 寄存器值+1 就是高电平计数值。 占空比=(TIMx_CCR2+1)/(TIMx_CCR1+1)*100% ???需要注意的是,使用这种方法时,TIMx的溢出周期时间必须大于待测信号的最大周期。 例如:16M HSI内部振荡,16分频(TIM1_PSCR=16-1),TIM1 定时时基为 1us,则 TIM1 可测最大信号周期为 65536 us(最大可捕获值65535+1)。信号周期如果超过这个时间,捕获值就不是周期和占空比了。
本文档为【STM32舵机控制程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_196623
暂无简介~
格式:doc
大小:16KB
软件:Word
页数:4
分类:生活休闲
上传时间:2017-10-10
浏览量:51