資源簡介
servo.h,servo.cpp,keywords.txt,examples,對學(xué)習(xí)Arduino,servo等是很有用的幫助

代碼片段和文件信息
/*
?Servo.cpp?-?Interrupt?driven?Servo?library?for?Arduino?using?16?bit?timers-?Version?2
?Copyright?(c)?2009?Michael?Margolis.??All?right?reserved.
?
?This?library?is?free?software;?you?can?redistribute?it?and/or
?modify?it?under?the?terms?of?the?GNU?Lesser?General?Public
?License?as?published?by?the?Free?Software?Foundation;?either
?version?2.1?of?the?License?or?(at?your?option)?any?later?version.
?
?This?library?is?distributed?in?the?hope?that?it?will?be?useful
?but?WITHOUT?ANY?WARRANTY;?without?even?the?implied?warranty?of
?MERCHANTABILITY?or?FITNESS?FOR?A?PARTICULAR?PURPOSE.??See?the?GNU
?Lesser?General?Public?License?for?more?details.
?
?You?should?have?received?a?copy?of?the?GNU?Lesser?General?Public
?License?along?with?this?library;?if?not?write?to?the?Free?Software
?Foundation?Inc.?51?Franklin?St?Fifth?Floor?Boston?MA??02110-1301??USA
?*/
/*?
?
?A?servo?is?activated?by?creating?an?instance?of?the?Servo?class?passing?the?desired?pin?to?the?attach()?method.
?The?servos?are?pulsed?in?the?background?using?the?value?most?recently?written?using?the?write()?method
?
?Note?that?analogWrite?of?PWM?on?pins?associated?with?the?timer?are?disabled?when?the?first?servo?is?attached.
?Timers?are?seized?as?needed?in?groups?of?12?servos?-?24?servos?use?two?timers?48?servos?will?use?four.
?
?The?methods?are:
?
?Servo?-?Class?for?manipulating?servo?motors?connected?to?Arduino?pins.
?
?attach(pin?)??-?Attaches?a?servo?motor?to?an?i/o?pin.
?attach(pin?min?max??)?-?Attaches?to?a?pin?setting?min?and?max?values?in?microseconds
?default?min?is?544?max?is?2400??
?
?write()?????-?Sets?the?servo?angle?in?degrees.??(invalid?angle?that?is?valid?as?pulse?in?microseconds?is?treated?as?microseconds)
?writeMicroseconds()?-?Sets?the?servo?pulse?width?in?microseconds?
?read()??????-?Gets?the?last?written?servo?pulse?width?as?an?angle?between?0?and?180.?
?readMicroseconds()???-?Gets?the?last?written?servo?pulse?width?in?microseconds.?(was?read_us()?in?first?release)
?attached()??-?Returns?true?if?there?is?a?servo?attached.?
?detach()????-?Stops?an?attached?servos?from?pulsing?its?i/o?pin.?
?
*/
#include?
#include??
#include?“Servo.h“
#define?usToTicks(_us)????((?clockCyclesPerMicrosecond()*?_us)?/?8)?????//?converts?microseconds?to?tick?(assumes?prescale?of?8)??//?12?Aug?2009
#define?ticksToUs(_ticks)?((?(unsigned)_ticks?*?8)/?clockCyclesPerMicrosecond()?)?//?converts?from?ticks?back?to?microseconds
#define?TRIM_DURATION???????2???????????????????????????????//?compensation?ticks?to?trim?adjust?for?digitalWrite?delays?//?12?August?2009
//#define?NBR_TIMERS????????(MAX_SERVOS?/?SERVOS_PER_TIMER)
static?servo_t?servos[MAX_SERVOS];??????????????????????????//?static?array?of?servo?structures
static?volatile?int8_t?Channel[_Nbr_16timers?];?????????????//?counter?for?the?servo?being?pulsed?for?each?timer?(or?-1?if?refresh?interval)
uint8_t?ServoCount?=?0;??????????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-10-03?23:41??Servo\
?????目錄???????????0??2014-10-03?23:41??Servo\examples\
?????目錄???????????0??2014-10-03?23:41??Servo\examples\Knob\
?????文件?????????939??2014-09-16?15:46??Servo\examples\Knob\Knob.ino
?????目錄???????????0??2014-10-03?23:41??Servo\examples\Sweep\
?????文件????????1119??2014-09-16?15:46??Servo\examples\Sweep\Sweep.ino
?????文件?????????580??2014-09-16?15:46??Servo\keywords.txt
?????文件???????12503??2014-09-16?15:46??Servo\Servo.cpp
?????文件????????5506??2014-09-16?15:46??Servo\Servo.h
評論
共有 條評論