Archiv verlassen und diese Seite im Standarddesign anzeigen : Daten über RS232 an ATmega8 senden und empfangen
daniel85
10.03.2006, 20:13
Hallo!
Ich verwenden einen ATmega 8 als Mikrokontroller. Zum programmieren verwende ich das AVR Studio. Den Mikrokontroller habe ich über einen MAX232 an eine serielle Schnittstelle angeschlossen. Nun möchte ich über das Hyper Terminal Daten an den ATmega 8 senden und Daten empfangen!
Hat da vielliecht jemand ein Programmbeispiel, wie das funktioniert??
danke im voraus!
mfg daniel
Hallo Daniel
Ich hab mich auch damit beschäftigt. Ich benutze ebenfalls einen Mega8 zum Experimeentieren.
Hier mal 2 Beispiele
#include <stdlib.h>
#include <avr/io.h>
void uart_init (void);
void uart_transmitt (unsigned char data);
void uart_puts (char *s);
/* Initialisierung des UARTs für Mega8, F_CPU = 8 MHz; Baud = 9600*/
void uart_init (void)
{
UCSRB |= (1 << TXC);
UCSRC |= ((1 << URSEL) | (3 << UCSZ0));
UBRRH = 51;
UBRRL = 25;
}
void uart_transmitt (unsigned char data)
{
while (!(UCSRA & (1 << UDRE)))
UDR = data;
}
void uart_puts (char *s)
{
while (*s)
{ /* so lange *s != '\0' also ungleich dem "String-Endezeichen" */
uart_transmitt(*s);
s++;
}
}
int main (void)
{
uart_init();
uart_transmitt('a');
return(0);
}
2. Beispiel mit Hilfe der Procyon Lib
#include <stdlib.h>
#include <avr/io.h>
#include "uart.h"
#include "rprintf.h"
int main (void)
{
int i = 5;
uint16_t a;
uartInit();
uartSetBaudRate(9600);
rprintfInit(uartSendByte);
rprintf("TEST %d", i);
for(;;)
{}
return(0);
}
Das Empfangen von Daten verstehe ich selbst noch nicht. Schau dir mal das GCC-Tutorial auf www.mikrocontroller.net an. Das hat mir sehr geholfen.
mfg Robert
Hat es sich schon erledigt, oder bist du noch an einer Lösung interesiert?
Nein
Ich habs auch schon herausgefunden ;)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.