서보모터 | 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
등록된 댓글이 없습니다.