Hi Leute. Ich versuche meine LCD zu initialisieren. Leider wird nur LCD_FUNC übergeben. Danach passiert nicht mehr. Das kann ich sehen, weil ich mir am PORTE die Befehle anschaue. Kann mir einer helfen?
So geht das nicht. Nehmen wir mal das hier #define LCD_FUNC PORTB = 0x38 //8bit Ansteuerung, 4 Zeilen, Zeichenbox 5x7 und das hier PORTE=LCD_FUNC; Was steht nachher für den Compiler dort? PORTE=PORTB = 0x38; Sieht irgendwie nach Unsinn aus, oder nicht?
Da wird das Programm vermutlich hängen: >void datenAnLCD() >{ > VarTimer(0.005); Wie sieht VarTimer() aus?
Danke für die schnelle Antwort. Zu Klärung: Das ist mir schon klar das es kein Sinn ergibt. PORTE=0x38 hab ich erst später eingefügt. Ich wollte sehen welche Daten grade gesendet werden. Am Atmega16 hat ja alles funktioniert. Jetzt benutze ich Atmega128 und es wird nur LCD_FUNC an das Display übergeben.
//Version 03042009 //Ein Schleifendurchlauf dauert 1,375us (11 Cyclen) //Rechnung zahler=ZEIT*((8MHz)^-1*11 Cyclen)^-1 //z.B. 1s*(1,375^-6*11 Cyclen)^-1 = 727273 double VarTimer(double TimeX) { unsigned long int zahler=0; zahler=TimeX*(1/(0.0000001375*11.0)); while(zahler!=0) { zahler-=1; asm volatile ("nop"); } return 0; }
@Fazer150ps: Hast Du Dir die LCD Library von Peter Fleury http://jump.to/fleury schon mal angesehen? Ist als Anregung und als Referenz zum Vergleichen meiner Ansicht nach nicht schlecht. Bis bald Georg
Danke für die Antworten. Es funktioniert aber nur mit atmega16. Warum es nicht auf dem atmega128 funktioniert weis ich leider immer noch nicht. Es soll angeblich an den Fuses-Bits liegen. Man soll dort was umstellen, aber leider konnte mir keiner sagen was.
>Es soll angeblich an den Fuses-Bits liegen.
Es könnte auch daran liegen das man ein HEX File für einen
ATMega16 nicht in einen ATMega128 brennen kann.
Beim ATMega128 sollte man auch besser die ATMEga103
Fuse abschalten.
Zu 1. das man ein HEX-File vom atmega16 nicht auf ein atmega128 brennen kann. Es geht. Hab ich grade gemacht und es funktioniert. Zu 2. hab ich das Fuse abgeschaltet und es funktioniert. SUPER. DANKE. Letzte Frage: Wofür braucht man das atmega103 Fuse beim atmega128 überhaupt???
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.