标题: stm32用定时器控制8路舵机(库函数)源码 [打印本页]

作者: kbq1950361006    时间: 2017-9-25 16:48
标题: stm32用定时器控制8路舵机(库函数)源码
8路舵机都可控制,在买pca9685驱动之前写的一部分,只用了2个定时器,如果只用舵机还可以接受,否则太懒费资源,

stm32调试舵机8路全用定时器(库函数)
单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "usart.h"
  6. #include "timer.h"

  7. /************************************************
  8. ALIENTEK战舰STM32开发板实验9
  9. PWM输出实验  
  10. ************************************************/

  11.         
  12. int main(void)
  13. {                        
  14.         delay_init();                     //延时函数初始化         
  15.         KEY_Init();
  16.   uart_init(115200);         //串口初始化为115200

  17.   TIM4_PWM_Init(199,7199);
  18.         TIM3_PWM_Init(199,7199);                 
  19.          
  20.         TIM_SetCompare1(TIM4,5);// GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;    D
  21.         TIM_SetCompare2(TIM4,5);
  22.   TIM_SetCompare3(TIM4,5);
  23.         TIM_SetCompare4(TIM4,5);         

  24.         TIM_SetCompare1(TIM3,5);//GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;      C
  25.         TIM_SetCompare2(TIM3,5);
  26.   TIM_SetCompare3(TIM3,5);
  27.         TIM_SetCompare4(TIM3,5);         
  28.   while(1)
  29.         {
  30.                  if(KEY0==0)
  31.                 {
  32.                   TIM_SetCompare1(TIM4,10); //45度
  33.       TIM_SetCompare1(TIM3,10);
  34.                 }               
  35.                 if(KEY1==0)
  36.                 {
  37.                         TIM_SetCompare2(TIM4,15);   //90度
  38.                         TIM_SetCompare2(TIM3,15);
  39.                 }
  40.                 if(KEY2==0)
  41.                 {
  42.                   TIM_SetCompare3(TIM4,20);          //135度
  43.                         TIM_SetCompare3(TIM3,20);
  44.                 }
  45.                 if(WK_UP==1)
  46.                 {
  47.                   TIM_SetCompare4(TIM4,25);   //180度
  48.                         TIM_SetCompare4(TIM3,25);
  49.                 }                  
  50.         }         
  51. }

复制代码

所有资料51hei提供下载:
stm32调试舵机8路全用定时器(库函数).7z (185.68 KB, 下载次数: 90)







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1