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