Atmega16 + LCD EASER161-ENLWK

Gast #1134006
Lesenswert?

Guten Tag,
ich bin Neuling in Sachen µC und habe folgende Aufgabe gestellt 
bekommen:

Mit einem Atmega16 auf einem LCD-Display EASER161-ENLWK einen Wert 
auszugeben, um genau zu sein eine Km/h Anzeige zu realisieren.

Mein Porblem liegt aber darin überhaupt ein Zeichen auf dem Display zu 
erhalten.
Ich hab diverse Beiträge und das Tutorial durchgelesen aber ich 
verzweifel.

Getestet wird mit einem Atmel Eval-Board V2 von pollin

Folender Quellcode:

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/delay.h>


#define FOSC 8000000L //Clockspeed
#define BAUD 9600L
#define MYUBRR  FOSC/16/BAUD-1


//Initialisierung des USART
void USART_Init(unsigned char ubrr)
{
  UCSRA = (0<<U2X);
//  UBRRX = 51;
  //Baud rate setzen
  UBRRH = (ubrr >>8);
  UBRRL = (ubrr);

  //Sender und Empfänger aktivieren
  UCSRB =  (1<<RXEN) | (1<<TXEN);

  //Frameformat setzten: 8data, 2stop bit
  //UCSRC = (1<<URSEL) | (0<<USBS) | (3<<UCSZ0);
  UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0) | (0<<UPM0) | (0<<USBS);
}

//Senden eines Zeichens über USART
void USART_Transmit(unsigned char zeichen)
{


  //Auf leeren Sendepuffer warten
  while( !(UCSRA & (1<<UDRE) ))
  {}

  //Zeichen ind Sendepuffer und senden
  UDR = zeichen;

  DDRD |= (1<<PD6);
  //LED2 anmachen
  PORTD |= (1<<PD6);
}

int main()
{
  unsigned char testchar = 'x';

  USART_Init(MYUBRR);

  USART_Transmit(testchar);

  return 0;
}

hab sowohl das Display angeschlosse als auch über HyperTerminal versucht 
ein Zeichen zu erhalten.
ich übermittel x bekomme auf dem Display kein zeichen und im HTerminal ~
Das Display benötigt 1 startbit 8 datenbits 1 stoppbit
und das Board hat einen 8 MHz quarz.

könnt ihr mir sagen was ich falsch mache?
wie gesagt, ich bekomme kein zeichen auf dem display (es funzt aber 
definitiv) und im Hyperterminal bekomm ich ein ~

Bin auch für links ähnlicher probleme dankbar.

gruß Julian

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