Forum: Mikrocontroller und Digitale Elektronik Einstellungen Mega32


von Sebastian (Gast)


Lesenswert?

Hi,

Ich versuche mich gerade in einem Programm für den Mega32.
1
#include <avr/io.h>
2
#include <avr/interrupt.h>
3
#include <stdint.h>
4
5
#define F_CPU 16000000;
6
#define BAUD 19200;
7
....
8
void uard_init(void)
9
{
10
  UCSRB |= (1<<TXEN);    // UART TXeinschalten
11
  UCSRC |= (1<<URSEL)|(3<<UCSZ0);  // Asynchron 8N1 
12
  UBRRH = 0;      //Highbyte ist 0
13
  UBRRL = 51;      //Lowbyte ist 51

Mit diesem Codeschnipsel wollte ich gerne die UART einstellen. Leider 
kennt er die variablen UCSRB usw. nicht. Welchen Header muss ich 
einbinden? Oder wie läuft das?

von johnny.m (Gast)


Lesenswert?

Du musst im Makefile bekannt geben, welchen Controller Du verwendest. 
Wenn Du mit AVRStudio arbeitest, dann musst Du unter 'Project | 
Configuration Options' den entsprechenden Controller auswählen.

von johnny.m (Gast)


Lesenswert?

...und wenn Du die CPU-Frequenz im Makefile oder AVRStudio angibst, dann 
kannst Du Dir auch das
1
#define F_CPU 16000000UL;
sparen. Ohne das "UL" hinter der 16000000 klappt das wahrscheinlich eh 
nicht.

von johnny.m (Gast)


Lesenswert?

...Und es ist sinnvoll, die Funktion "uart_init" zu nennen und nicht 
"uard_init".

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.