Forum: Compiler & IDEs Nightrider an PORTA auf AT90S8515


von Horst B. (Gast)


Angehängte Dateien:

Lesenswert?

Tach zusammen,
hab heute meinen ersten Erfolg mit einem µc gehabt.
Da mir die vielen Fragen und Antworten von Anfängern und den Profis sehr 
weiter geholfen haben, wolte ich doch mein kleines Proggi hier 
vorstellen.

Ich bin ein absoluter Anfänger der sich jetzt bedingt durch die 
Tenikerschule mit µc beschäftigen darf und will. Z.Z. mit Keil Compiler 
und Raakers Platine. Privat dachte ich mir kann es nicht verkehrt sein 
sich mal den µc von Atmel zu widmen. Man kann zwar nicht alles 1 zu 1 
umsetzen aber wenn man sich mit der Materie beschfätig, dann klappt das 
schon.
Im Sommer fangen wir dann mit Assembler und nen PIC µc am. Bin mal 
gespannt wie das wird.
Werde sicherlich hier noch oft im Forum stöbern müssen.

Ich denke das dieses Lauflicht sicherlich auch nicht perfekt ist, aber 
zum lernen und mutivationsschub reicht es sicher allemal. (Wenn schon 
mal was an den Ports passiert, macht es auch Spaß)
Schönes Restwochende.

MfG Baddy

von Falk B. (falk)


Lesenswert?

@ Horst B.

>Ich denke das dieses Lauflicht sicherlich auch nicht perfekt ist, aber
>zum lernen und mutivationsschub reicht es sicher allemal. (Wenn schon

>       _delay_ms(20000);

Kleiner Hinweis. Deine Delays funktionieren so nicht.

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Warteschleifen_.28delay.h.29

MFG
Falk

: Bearbeitet durch Admin
von Dennis (Gast)


Lesenswert?

Dürfen wir rummeckern aka kommentieren? :P

"DDRA=0xFF;" kann man aus der Schleife herausnehmen.

Außerdem würde es reichen zu schreiben "PORTA = PORTA<<1". Das 
"|(PORTA>>7)" braucht man in dem Fall nicht.
Außerdem ist das Programm komisch eingerückt ;)

Gruß,
Dennis

PS: Wenn ich genug LEDs hier hätte, würd ich jetzt glatt ein Lauflicht 
mit Nachleuchten etc. basteln :\

von Falk B. (falk)


Lesenswert?

@ Dennis (Gast)

>PS: Wenn ich genug LEDs hier hätte, würd ich jetzt glatt ein Lauflicht
>mit Nachleuchten etc. basteln :\

Faule Ausrede ;-) Mit Soft-PWM kein grosses Thema.

MFG
Falk

von Horst B. (Gast)


Angehängte Dateien:

Lesenswert?

hi dennis,

klar darf man meckern/kritik üben. Ich lerne ja noch ;-)

Werd das was du geschrieben hast gleich mal testen.

Hab so ein Testboard von der Firma Silvotronic. Ist zwar alles ein wenig 
umständlich damit, dafür muss man sich aber das was man haben möchte 
vorher immer genau zusammen stecken und das bringt ja auch ein wenig 
praxis mit. wie gesagt ich bin gerade am anfang.

danke für die hinweise.

gruß baddy

von Horst B. (Gast)


Lesenswert?

@dennis,

hab das mal getestet, was du angemerkt hast. nur dann leuchten meine 
leds nicht mehr so hell und das ganze läuft nur noch in eine richtung.

zu dem delay, hab ich auch mal gelesen und das so eingegeben aber das 
klappt dann auch nicht.

werde das nochmal in ruhe machen. muss mir jetzt auch mal nen buch 
besorgen.
hat einer da nen tip??

gruß baddy

von Falk B. (falk)


Lesenswert?

Probier mal das.

1
#define F_CPU 4000000
2
#include <avr/io.h>
3
#include <util/delay.h>
4
5
void long_delay(uint16_t ms) {
6
    for(; ms>0; ms--) _delay_ms(1);
7
}
8
9
int main(void) {
10
11
unsigned int i;
12
13
  DDRA=0xFF;
14
15
  while(1) {
16
    PORTA = 1;
17
    for(i=1; i<8; i++) {
18
      PORTA = (PORTA<<1);
19
      long_delay(20000);
20
    }
21
    PORTA = 0x80;    
22
    for(i=1; i<8; i++) {
23
      PORTA = (PORTA>>1);
24
      long_delay(20000);
25
    }
26
  } 
27
}

MfG
Falk

von Horst B. (Gast)


Lesenswert?

Hallo Falk,
ja das funktioniert. Vor allem kann man jetzt viel schöner die Zeiten 
einstellen. Das mit dem delay werd ich glauch ich nochmal in einer 
ruhigen stunde lesen müssen.
Danke für die Tips.

Gruß Baddy

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.