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
@ 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
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 :\
@ 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
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
@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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.