1) 지식 창고는 본인이 작성한 콘텐츠(팁/노하우/리소스/강좌 등)을 무료 혹은 가상화폐인 납포인트를 통해 공유하는 공간입니다.
2) 본인이 작성한 콘텐츠에 대해서만 지식 창고에 등록할 수 있으며, 저작권에 위배되는 콘텐츠는 사전경고 없이 삭제될 수 있습니다.
3) 콘텐츠 구매 및 첨부파일 다운로드는 회원그룹 '연구원' 이상 가능하오니, 경험치를 쌓아 진급한 후에 이용 부탁드립니다.
4) 무료 콘텐츠의 본문은 구매절차 없이 즉시 이용할 수 있으며, 판매 납포인트가 있는 콘텐츠는 구매 후 이용할 수 있습니다.
5) 콘텐츠 판매에 따른 납포인트 수익은 지정한 비율(50%)에 따라 판매자에게 지급하며, 납포인트 수익을 통해 진급을 빨리할 수 있습니다.
6) 구매 후 평가를 하면 구매 납포인트의 20%를 돌려 드립니다.
판매자 | 뺘쑝 | 판매 납포인트 | 무료 | 평점 | 0점 / 총 0명 참여 |
---|
*변수 설명:
flag : 전역변수, int형이든, char 형이든 상관 없다.
타이머가 걸리면서 1을 출력할 차례인지, 0을 출력할 차례인지를
저장하는 변수
port : 이 값을 출력포트를 통해 출력한다. 사용하는 컴파일러마다 다르지만
outport를 이용하거나 레지스터 주소를 이용해 출력한다.
포트는 8비트가 순서대로 되어있는것을 사용한다.
countValue : 타이머/카운트값. high신호가 출력되는 길이이다.
여기서는 2500이라는 값이 세팅되어 있을 경우 타이머의 주기가 2.5ms가
된다고 가정하였다. 타이머의 세팅에 따라 이 값은 달라지게 된다.
motorIndex : 어느 모터(또는 포트의 어느 비트)에 해당하는 PWM을
출력하는지를 저장하고 있는 변수. 0~7까지의 값을 갖는다.
dat[] : 타이머/카운트에 들어갈 값. 이 값을 조정해 줌으로써 각도를 조정할수 있다.
여기서는 dat[]의 값의 1500을 가질때 high의 신호가 1.5ms가 되며,
서보모터가 중간에 오게 된다.
*즉 2.5ms마다 타이머가 두번씩 걸리게 되며, 한번은 high로, 한번은 low로 신호를 바꾸어주게 된다.
이러한 동작이 20ms동안 8번 발생하며, 이 8번 동안 motorIndex라는 값에 따라
정해진 모터에 해당하는 포트에 high와 low를 출력해준다. 타이밍은 다음과 같다.
소스는 다운받아 보시길 바랍니다 ^^
아낌없이 주는 마이컴박스