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