Verbesserungsvorschläge zu eigenem kleinen Programm

Gast #1668079
Lesenswert?
• ▲
▼
Hallo,
habe mal ein Lauflicht / Blinklicht programmiert für nen Atmega8.
Dafür habe ich 20 leds in einer bestimmten Form (Kreis) angeordnet, aber 
beim löten einfach anch lust und Laune an die Pins des Atmega gehängt, 
deswegen die komischen Portreihenfolge ^^
Also mit 2 tastern kann man einmal alle Leds blinken lassen und mit dem 
2. taster kann man ein lauflicht ( immer 2 Leds an ) Über den Kreis 
laufen lassen.
Schaut euch das mal an und sagt, was amn verbesser müsste / könnte.
Bin grade am Anfang und hoffe ich lern damit noch was

gruß
Angehängte Dateien:
#1668099
Lesenswert?
• ▲
▼
@  Klaus (Gast)

>Dafür habe ich 20 leds in einer bestimmten Form (Kreis) angeordnet, aber
>beim löten einfach anch lust und Laune an die Pins des Atmega gehängt,
>deswegen die komischen Portreihenfolge ^^

Sehr sinnvoll. Schaltplan? Gibts sicher nicht.

>Schaut euch das mal an und sagt, was amn verbesser müsste / könnte.
>Bin grade am Anfang und hoffe ich lern damit noch was

Na dann hör gleich mal wieder auf mit so einem Müll. Zeichne VORHER 
einen soliden Schaltplan, DANN baue die Schaltung auch so auf.

Warum muss für EINE LED immer mehrere Pins geschaltet werden?

Dein Programm ist in typischer Anfängermanier geschrieben. Ist 
verständlich. Besser ist es, das ganze über Arrays und Schleifen zu 
machen. Ist deutlich kleiner und übersichtlicher.

MFG
Falk
Gast #1669714
Lesenswert?
• ▲
▼
Ok Danke für die Mühr deinerseits.

Also die internen Pullaps benötige ich nich, hab extern welche.
Wenn ich das jetzt richtig sehe, läuft das LED-Licht beginnend von Portb 
über den Portc und endet dann am Portd richtig??

Wobei immer 2 Leds ansind und die 3. ausgeht. richtig ?
#1669780
Lesenswert?
• ▲
▼
@  Klaus (Gast)

>Also die internen Pullaps benötige ich nich, hab extern welche.

Kann man machen, ist aber unnötig. Ausserdem musst du dann 
sinnvollerweise prüfen, ob das Pin LOW ist und nicht wie bei dir HIGH. 
Sonst ist nämlich den Schalter offen und nicht geschlossen.

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Eing.C3.A4nge_.28Wie_kommen_Signale_in_den_.C2.B5C.29

>Wenn ich das jetzt richtig sehe, läuft das LED-Licht beginnend von Portb
>über den Portc und endet dann am Portd richtig??

Ja, ist nur als Beispiel gedacht. Kann man ja jetzt sehr leicht und 
übersichtlich ändern.

>Wobei immer 2 Leds ansind und die 3. ausgeht. richtig ?

Ja.

MfG
Falk
Gast #1669790
Lesenswert?
• ▲
▼
ich habe die tster als activ high angeschlossen, weil das grade auf der 
platine so gut passte und die haben somit ein 0 Signal im grundzustand.

Noch mal danke, dann wrde ich mal deinen Code an meine zusammengefuschte 
platine anpassen

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.