ATTiny13A PWM 0,1 ms

OP #4805973
Lesenswert?
• ▲
▼
Tag zusammen,
ich wollte aus Spaß mal eine LED ein wenig ausreizen.
Dazu wird eine PWM mit 0.1ms Pulsbreite und einem Tastverhältnis von 
1/10 benötigt. Habe alles soweit eingestellt, nur kann ich das Ergebnis 
nicht überprüfen. Daher die Frage ob es in etwa (ein paar Prozent 
Abweichung sind mir egal) stimmt.
1
/*
2
 * ATTiny13A_PWM_Pulse_LED25000WS.c
3
 Fuses: HIGH = 0xFF LOW  = 0x7A
4
 */ 
5

6
#define F_CPU 2400000UL
7
#define LED01 PB0
8

9
#include <avr/io.h>
10
#include <avr/power.h>
11

12
int main(void)
13
{
14
  clock_prescale_set(clock_div_4); // 9,6 MHz
15
  DDRB |= ( 1 << LED01);
16
  
17
  //////////////////////////////////////////////////////////////////////////
18
  //PWM ( PB0 Pin 5 OCOA )
19
  TCCR0A |= ((1 << COM0A1) | ( 1 << WGM00) | ( 1 << WGM01)); // Clear OC0A on Compare Match, set OC0A at TOP, Fast PWM
20
  TCCR0B |= ( 1 << CS00);  // Prescaler 1
21
  OCR0A = 26;
22
  
23
    while (1) 
24
    {
25
    }
26
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren