Forum: Mikrocontroller und Digitale Elektronik ATMEGA8 Probleme bei Schnittstellen Initialisierung


von Patrick (Gast)


Lesenswert?

Hallo ich möchte bei einem SMbus die Sereielle Schnittstelle 
initialisieren.

/********************************************/
/* Initialisiert die Serielle Schnittstelle */
/* Baudrate: 2400, StopBit: 2, Parity: No,   */
/* Datanbits:8                 */
/********************************************/
void initSerial(void)
{
  UBRRH = (unsigned char)(uartLadewert>>8);
  UBRRL = (unsigned char)(uartLadewert);

  UCSRB |= ( 1 << TXEN ) | (1 << RXEN | (1<<RXCIE));    // UART TX 
einschalten unt Interrupt fuer den Empfang
                              // aktivieren
    UCSRC |= ( 1 << URSEL )|( 3<<UCSZ0 );          // Asynchron 8N1

  return;

}

Ich habe das Problem, dass UBRRH UBRRL,UCSRB UCSRC... vom Compiler nicht 
erkannt werden!

"UBRRH undecleared (first use in this function)

bitte um Hilfe
Danke !!

von holger (Gast)


Lesenswert?

#include <avr/io.h>

von Niels H. (monarch35)


Lesenswert?

Patrick wrote:
> Ich habe das Problem, dass UBRRH UBRRL,UCSRB UCSRC... vom Compiler nicht
> erkannt werden!

.....und welchen Compiler verwendest du?
#includes vergessen?
Kontrollertyp im Makefile gesetzt (avr-gcc)

von Patrick (Gast)


Lesenswert?

Erstmal danke für die Antworten !

Compiler: avr-gcc
Includes: habe ich aber alle drinnen !

von holger (Gast)


Lesenswert?

Dann hast du vergessen den Controllertyp anzugeben.

von Patrick (Gast)


Lesenswert?

Das mag vielleicht absolut dumm klingen ;)
wo gebe ich den Controllertyp an ??
Bin neu beim AVR Studio!

von Patrick (Gast)


Lesenswert?

Danke habs schon gefunden !
funktioniert jetzt !

Hab jetzt noch ne Warnung
C Code:
uartWriteString((char*)itoa(daten,s,10));

warning : implict declaration of function itoa

kennt  das jemnd?
lösungsvorschläge?

von Niels H. (monarch35)


Lesenswert?

für itoa musst du die stdlib.h "includen"...

von Patrick (Gast)


Lesenswert?

Danke hat funktioniert !
Ihr seid echt Spitze !!

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
Noch kein Account? Hier anmelden.