또 댓글수 초과네요...ㅠㅠ ㅎㅎ
암튼 아래 글에 대한 답변을 드리자면.....
0.1ms 짜리 타이머 인터럽트를 만들어서 카운팅 변수를 하나 할당한 다음에
여러 포트를 동시제어하는방법도 있습니다.
예를들어 서보 4개가 있을경우, 1번서보는 PA0, 2번은 PA1, 3번은 PA2, 4번은 PA3에 연결되있다 칩시다...
1번서보는 2ms, 2번은 2.1ms, 3번은 2.2ms, 4번은 2.3ms 라 하면
0.1ms짜리 타이머이므로 타이머 인터럽트 한번에 해당 변수를 1씩증가시키고...
변수가 0인상태에서 PA0~PA3까지 모두 High, 변수가 20일때 PA0에 Low
변수가 21일때 PA1에 Low, 변수가 22일때 PA2에 Low, 변수가 23일때 PA3에 Low를 순차적으로 걸면
펄스는 각각 정확히 나가겠죠??
그리고 20ms주기이므로 변수가 200이 될때까지 유지하다 200이 되면 변수를 0으로 초기화하고 다시
루틴을 반복하면 되겠죠 ㅎㅎ 그럼 아래와 같은 펄스가 만들어집니다 ^^
암튼 아래 글에 대한 답변을 드리자면.....
0.1ms 짜리 타이머 인터럽트를 만들어서 카운팅 변수를 하나 할당한 다음에
여러 포트를 동시제어하는방법도 있습니다.
예를들어 서보 4개가 있을경우, 1번서보는 PA0, 2번은 PA1, 3번은 PA2, 4번은 PA3에 연결되있다 칩시다...
1번서보는 2ms, 2번은 2.1ms, 3번은 2.2ms, 4번은 2.3ms 라 하면
0.1ms짜리 타이머이므로 타이머 인터럽트 한번에 해당 변수를 1씩증가시키고...
변수가 0인상태에서 PA0~PA3까지 모두 High, 변수가 20일때 PA0에 Low
변수가 21일때 PA1에 Low, 변수가 22일때 PA2에 Low, 변수가 23일때 PA3에 Low를 순차적으로 걸면
펄스는 각각 정확히 나가겠죠??
그리고 20ms주기이므로 변수가 200이 될때까지 유지하다 200이 되면 변수를 0으로 초기화하고 다시
루틴을 반복하면 되겠죠 ㅎㅎ 그럼 아래와 같은 펄스가 만들어집니다 ^^