找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1954|回復: 0
收起左側(cè)

STM32控制兩路舵機程序 可直接輸入角度較方便

[復制鏈接]
ID:1016148 發(fā)表于 2022-4-6 16:05 | 顯示全部樓層 |閱讀模式
void SG90_Init1(float angle)     //angle是要轉(zhuǎn)的角度
{   angle=(u16)(50.0*angle/9.0+249.0);
    TIM_SetCompare1(TIM5,angle);
}


void SG90_Init2(float angle)
{   angle=(u16)(50.0*angle/9.0+249.0);
    TIM_SetCompare2(TIM5,angle);
}


  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. void SG90_Init1(float angle)     //angle是要轉(zhuǎn)的角度
  8. {   angle=(u16)(50.0*angle/9.0+249.0);
  9.     TIM_SetCompare1(TIM5,angle);
  10. }

  11. void SG90_Init2(float angle)
  12. {   angle=(u16)(50.0*angle/9.0+249.0);
  13.     TIM_SetCompare2(TIM5,angle);
  14. }


  15. int main(void)
  16. {   int i;
  17.     delay_init();
  18.     PWM5_Init(9999,143);//不分頻。PWM頻率=72*10^6/(9999+1)/(143+1)=50Hz 即 20ms一個周期
  19.     SG90_Init1(0);     //舵機轉(zhuǎn)到零度
  20.         while(1)
  21.         {
  22.         for(i=0;i<=180;i=i+10)//舵機每次轉(zhuǎn)10度,轉(zhuǎn)到180回零
  23.                 {
  24.                 SG90_Init1(i);//信號線1  A0
  25.                 SG90_Init2(i);//信號線2  A1
  26.                 delay_ms(1000);
  27.                        
  28.                 }
  29.         if(i>=180)
  30.                 {
  31.         i=0;
  32.         }

  33.         }



  34. }

復制代碼

Keil代碼下載: 兩路舵機.7z (188.11 KB, 下載次數(shù): 30)

評分

參與人數(shù) 1黑幣 +10 收起 理由
admin + 10 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表