Forum: Mikrocontroller und Digitale Elektronik PWM - Programmierung


von bÖrgi (Gast)


Lesenswert?

Hallo,

habe hier eine Headerdatei die mir ein Freund gegeben hat. Ich will 
lernen wie man PWM-Programmiert um über einen L298N Motorensteuern kann. 
Den Mikrocontroller den ich verwende ist ein Atmega 32.
Es wurde zum schreiben das Avr-Studio verwendet.
Kann mir jemdand erläutern was das Programm macht, ggf Kommentieren.
1
#ifndef pwm_h
2
#define pwm_h
3
4
void init_pwm0(void)
5
{
6
  //Fast PWM, Prescaler 64, Set Pin @ OCR 
7
  TCCR0 = (1 << WGM00) | (1 << WGM01) | (1 << COM00) | (1 << COM01) | (1 << CS02);
8
      
9
}
10
11
void inline setpwm0(uint8_t value)
12
{
13
  OCR0=value;
14
}
15
16
void init_pwm1(void)
17
{
18
  TCCR1A= (1 << COM1A1) | (1 << COM1A0) | (1 << COM1B1) | (1 << COM1B0) | (1 << WGM10);
19
  TCCR1B= (1 << WGM12) | (1 << CS10) | (1 << CS11);
20
  //Fast PWM, Prescaler 64, Set Pin @ OCR
21
22
}
23
24
void inline setpwm1(uint8_t value)
25
{
26
  OCR1A=value;
27
}
28
29
#endif

MFG bÖrgi

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Du musst dich schon selber ein wenig bemühen, alles vorkauen wird dir 
hier keiner. Fang z.B. mal mit dem AVR-Tutorial bzw. für C mit dem 
AVR-GCC-Tutorial an.

Es ist übrigens kein guter Stil Programmcode in Headerdateien zu 
stecken, da gehören nur die Deklarationen rein... aber das steht auch 
alles im Tutorial.

von Ralf B. (Gast)


Lesenswert?

Übrigens kann man auch die Datenblätter nur wärmstens empfehlen.

Grüße
Ralf B.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.