LCD init hd44780

Gast #1220361
Lesenswert?

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?
Gast #1220374
Lesenswert?

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.
Gast #1220382
Lesenswert?

//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;
}
Gast #1220717
Lesenswert?

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.
Gast #1220722
Lesenswert?

>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.
Gast #1220735
Lesenswert?

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???

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren