Hallo, ich habe mir ein Board (AVR Entwicklungsplatine ATmega8/ATmega48 von OLIMEX) zugelegt. Das ich an PORTB statt PORTD wie im Tutorial beschrieben angeschlossen habe. Nun habe ich im Quellcode alle PORTD durch PORTD ersetzt und alle DDRD durch DDRB. Leider springt das Display bei mir nicht an (Es bleiben die beiden Balken die immer nach anlegen der Betriebspannung auftauchen). Quellcode kopiert aus dem AVR-Tutorial. AVRStudio PORTD->PROTB, DDRD->DDRB (mit den Warteschleifen gespielt) Hex File mit yaap zum Controller geschickt und mit Verify Flash geprüft.
Die beiden Balken? Meinst du es bleibt ales schwarz? Dann dreh mal am Poti für die Displayintensität. Vielleicht steht dein Kontrast ja auf volle pulle.
Danke für die schnelle Antwort. Ja der steht auf volle pulle. Das sollte aber nicht machen ich habe das Display vorhin noch am LPT1 vom Rechner getestet. Was ich vorhin noch vergessen habe die Fusebits habe ich auch gecheckt.
Naja an den Fuse Bits wird das wohl kaum liegen. Na wenn der Kontrst voll aufgedreht ist kann man ja auch nix sehen. Aber wirst du mittlerweile ja dran herrumgedreht haben. Also wenn es vorher funktioniert hat und jetzt nicht und du nur von einen auf den anderen PORT gelegt hast kann es nicht an vielen Dingen liegen. Geh mal Systematisch vor. Kontrastspannung bzw. Poti ok? PINS wirklich äquivalent getauscht? PORTB BIT0 -> PORTD BIT0 usw.? PINS richtig als Aus- und Eingänge initialisiert? Und zur Not - lass es einfach an PORTB :). Ist doch egal welchen PORT du benutzt wenn du den MEGA8 eh nur fürs display benutzen willst.
Hi ZoToS... Mit wieviel Mhz läuft dein Atmega 8? 8 Mhz sind eindeutig zu viel für das Beispielprogramm. Es kann sein, wenn du zu schnell am weg bist, daß dann das Display nicht mehr mitkommt. Versuch es mal mit einem Mhz oder so. Gruß Avus
Vielen Dank für Euere Tips! Kontrast war nicht das Problem. Das mit den 8MHz wird wohl das Problem sein. Ich will die 8MHz aber gerne beibehalten und die warte Schleifen anpassen. Nur habe ich keine Ahnung wie ich diese berechnen muss das 50µs und 5ms raus kommen? Das mit dem PORTB habe ich gewissenhaft geprüft und Bit für Bit ist von D zu B getauscht. Den PortD möchte nicht für das Display nehmen da ich im nächstenschritt auch die UART Schnittstelle testen möchte. Gruß Marcus ZoToS
Also wenn du den delay ändern willst.. du muß eine bestimmt anzahl von takten "warten" bei 8mhz: 50µs : 1/8.000.000=> zeit pro takt 50µs/zeit pro takt=> anzahl takte die du warten mußt das ganze kannst du auch wunderbar im simulator testen
verdoppel die warteschleifen einfach ;) du hast 8MHz und bei 4 klappt es also doppelt so lannge warten.. Gruss Jens
Ich stand einwenig auf dem schlauch. Es ist erschreckend wenn man weis wie Einfach die Lösung ist nach der man so lange gesucht hat. DANKE!
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.