?? public.c
字號:
///////////////////////////////舵機(jī)控制方法//////////////////////////////////
//舵機(jī)控制數(shù)據(jù)命令包括兩個值一個是最終到達(dá)的旋轉(zhuǎn)終止角度,另外一個是速度范圍0-255,
//255代表最大速度,MG995舵機(jī)速度是0.2秒60度,0代表最小速度設(shè)定為2.55秒每60度
//255減去速度參數(shù) . 比如轉(zhuǎn)動30度,速度參數(shù)200,255-200=55,代表550MS完成60度角度
//550MS/60=9.16MS運行一度,30度,時間30*9.16=275,舵機(jī)20MS一個周期,275/20=13.75個周期
//完成動作.一共要轉(zhuǎn)動30度,每周期轉(zhuǎn)動:30/13.75=2.18,每度11.11US,2.18*11.11=24.24US
//定時器1.0US為計數(shù)單位,24.24/1.0=24.24,每20MS一個周期每次改變數(shù)字計數(shù)器24,
//改變14個周期完成60度.另外還要考慮角度是增加還是減少.計算出來有小數(shù)點,以及誤差,
//在最末尾的時候補足角度.計算出最終計數(shù)器數(shù)字,程序在中斷里面自動按照計算出來的
//改變步進(jìn)時間以及步進(jìn)次數(shù)進(jìn)行逼近,當(dāng)和運行到計算最終數(shù)據(jù)時停止,中斷里面每個周期
//都將查詢角度數(shù)據(jù)是否被改變
/////////////////////////////////////////////////////////////////////////////
///////////////////////舵機(jī)控制數(shù)據(jù)結(jié)構(gòu)///////////////////////////////////
unsigned int PWMbuff[8]; //舵機(jī)控制寄存器
unsigned int PWMangle[8]; //計算出的最終到達(dá)角度計數(shù)器數(shù)據(jù)=500+(角度*111111)/10000
unsigned int PWMvalue[8]; //每周期改變的計數(shù)器數(shù)值
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -