Programmierung Attiny für L293

Gast #1157324
Lesenswert?

Hallo zusammen,

ich bin Einsteiger in die avr-GCC Programmierung und habe im Rahmen 
eines kleinen Projekts einen ATtiny 2313 an den H-Brücken IC L293 D 
angeschlossen. Ich möchte damit einen DC Motor betreiben und den 
Schaltplan dazu seht ihr oben.

Ich habe nun folgenden Code bisher zur Programmierung genutzt, der aber 
natürlich nicht funktioniert :):
1
void init_timer0(void)
2
{
3
   TCCR0A = (1<<COM0A1)|(1<<COM0B1)|(1<<WGM00);
4

5
   TCCR0B = (1<<CS00);
6

7
   TIMSK &= ~0x3c;
8
}
9

10

11

12
void setPWM(uint8_t speed) 
13
{OCR1BL = speed;}
14

15

16

17
void Mzur(void)  //Uhrzeigersinn
18
{PORTB |= (1<<PB1); PORTB &= ~(1<<PB2);}
19

20
void Mvor(void)  //mathematischer Drehsinn
21
{PORTB &= ~(1<<PB1); PORTB |= (1<<PB2);}
22

23
void Mstop(void)  //aus
24
{ PORTB &= ~(1<<PB1); PORTB &= ~(1<<PB2);}
25

26
--------------------------------------------------
27

28
int main (void) {            
29
 
30
   DDRB = (1 << PB0);
31
 
32
  Mvor();
33

34
  setPWM(0);
35

36
  for(uint8_t i=0; i<255; i=i+5)
37
  {
38
    setPWM(i);
39
  }
40

41
  setPWM(255);  
42

43
   return 0;                 
44
}

Würd mich freuen, wenn ihr mir ein paar Denkanstöße geben könntet, für 
mich ist dat alles noch Neuland :D,

Vielen Dank im Vorraus,

Gruß Olli
Angehängte Dateien:
Gast #1157406
Lesenswert?

In der Schleife "überfährst" du konstant den Wert, den du gerade 
eingestellt hat. Du mußt deine Schleife an deine PWM-Routine koppeln, 
also erst einen neuen Wert in OCR schreiben, wenn der vorherige erreicht 
wurde.

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