Gast
#285451
Hallo Leute!
Ich hab das Problem, das meine serielle Schnittstelle nicht senden
kann. Das Programm sollte "test" auf dem Display ausgeben uwenn UDRE
gesetzt ist. Das tut es aber nicht.WARUM? Bitte um Hilfe.(ist
dringend)
main.c:
#include <stdlib.h>
#include <avr/io.h>
#include <avr/delay.h>
#include <avr/pgmspace.h>
#include "lcd.h"
#include <lcd.c>
void sendeneinzeichen(unsigned char daten)
{
while (!(UCSRA & (1<<UDRE))); //Warten bis UDR leer ist
lcd_puts("test");
UDR=daten;
}
/*
** constant definitions
*/
int main(void)
{
char buffer[7];
int num=13564;
/* initialize display, cursor off */
lcd_init(LCD_DISP_ON);
/* convert interger into string */
itoa( num , buffer, 10);
/* put converted string to display */
lcd_puts(buffer);
//UART INIT
//UBRR = 23
UBRRH=0x00;
UBRRL=23;
//TXD einschalten
UCSRB|=(1<<TXEN);
//Frame Format 1SB 8DB 1STP 0PB
UCSRC=(1<<UMSEL)|(1<<UCSZ1)|(1<<UCSZ0);
itoa( num , buffer, 10);
for(;;)
{
sendeneinzeichen('x');
lcd_clrscr();
}
}