Development/Embedded
ATmega128 - PWM Mode 14 소스
Komastar.Dev
2014. 2. 19. 20:37
반응형
atmega128 / pwm / pwm mode 14 / atmega128 pwm
#includeFast PWM Mode 14 구현 1024 프리스케일러에 ICR 값을 320가량을 줘서 20ms 주기의 PWM 신호를 만들었다.void main(void) { DDRB = 0xFF; DDRE = 0xFF; PORTB = 0xFF; PORTE = 0xFF; /* FastPWM 14 mode setting */ TCCR1A |= (1<<1) | (0<<0); //WGM 1, 0 TCCR1B |= (1<<4) | (1<<3); //WGM 3, 2 TCCR3A |= (1<<1) | (0<<0); TCCR3B |= (1<<4) | (1<<3); TCCR1A |= (1<<7) | (0<<6) | (1<<5) | (0<<4) | (1 << 3) | (0 << 2); TCCR3A |= (1<<7) | (0<<6) | (1<<5) | (0<<4) | (1 << 3) | (0 << 2); /* 1024 prescaler */ TCCR1B |= (1<<2) | (0<<1) | (1<<0); TCCR3B |= (1<<2) | (0<<1) | (1<<0); TCNT1H = 0x00; TCNT1L = 0x00; TCNT3H = 0x00; TCNT3L = 0x00; ICR1H = 0x01; ICR1L = 0x36; ICR3H = 0x01; ICR3L = 0x36; OCR1AH = 0x00; //OCR1AL = 0x0A; OCR1AL = 10; OCR1BH = 0x00; //OCR1BL = 0x28; OCR1BL = 40; OCR1CH = 0x00; OCR1CL = 0x20; OCR3BH = 0x00; OCR3BL = 0x08; SREG = 0x80; while(1); }
출력되는 핀은 OC1A, OC1B, OC1C, OC3B
원래는 OC3B대신 OC3A로 출력하려고 했으나
나머지 핀은 출력이 잘되는데 이 녀석만
출력이 안나왔다.
모듈 불량으로 판단된다
4개의 PWM만 있으면 되니 상관은 없다.
2014 / 02 / 19 - 20:36 최초 작성
2014 / 02 / 20 - 01:38 태그 정리
반응형