모터 > UART로 RC서보모터 구동 - 1채널

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 모터

서보모터 | UART로 RC서보모터 구동 - 1채널

페이지 정보

작성자 키트 작성일17-09-05 17:21 조회1,928회 댓글0건

본문

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//=====================================================================//
//RC서보 - 타이머1 FAST PWM MODE14로 구동
//=====================================================================//
//전체 주기 20000usec중애서 아래 시간 만큼 high를 주면 해당 각도로 이동
// 600usec=-90도 포지션
//1500usec=  0도 포지션
//2400usec=+90도 포지션
 
 
//=====================================================================//
// CVAVR
//=====================================================================//
#include <io.h>
//
interrupt [USART0_RXC] void usart0_rx_isr(void){
  char ch;
  ch=UDR0;
  if(ch=='R')OCR1A=4800;
  if(ch=='C')OCR1A=3000;
  if(ch=='L')OCR1A=1200;
}
//
void main(void){
    DDRB=0x20;   // PB5 out
    TCCR1A=0xA2; TCCR1B=0x1A; OCR1A=3000; ICR1=39999;
    UCSR0B=0x98; UBRR0L=103;  // 9600 @16MHz
    SREG=0x80;
    while(1){}
}
 
 
//=====================================================================//
// AVRstudio
//=====================================================================//
#include <avr/io.h>
//
ISR(USART0_RX_vect){
  char ch;
  ch=UDR0;
  if(ch=='R')OCR1A=4800;
  if(ch=='C')OCR1A=3000;
  if(ch=='L')OCR1A=1200;
}
//
int main(void){
    DDRB=0x20;   // PB5 out
    TCCR1A=0xA2; TCCR1B=0x1A; OCR1A=3000; OCR1B=3000; ICR1=39999;
    UCSR0B=0x98; UBRR0L=103;  // 9600 @16MHz
    SREG=0x80;
    while(1){}
}
 
cs

댓글 : 0

조회수 : 1,928

등록된 댓글이 없습니다.

게시물 검색

모터 목록

게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전