-
-
STK500, Atmega16, UART, AVR Studio4
Hallo allerseits,
ich versuche verzweifelt eine Verbindung von meinem Board zu meinem PC herzustellen. Hab in dem Datenblatt vom stk500 gesehen, dass PD0 &1 mit RXD und TXD ueber ein Kabel verbunden werden. Hab ich auch gemacht. Hab dann aus den Tutorials Die Texte rauskopiert und ein Programm auf mein Board geladen.
Und wo wird jetzt die Variable X angezeigt ? Benötige ich da noch software ?
Hier mein Programm:
#include <avr/io.h>
#include <inttypes.h>
#ifndef F_CPU
#warning "F_CPU war noch nicht definiert, wird nun nachgeholt mit 4000000"
#define F_CPU 4000000UL // Systemtakt in Hz - Definition als unsigned long beachten
// Ohne ergeben sich unten Fehler in der Berechnung
#endif
#define BAUD 9600UL // Baudrate
// Berechnungen
#define UBRR_VAL ((F_CPU+BAUD*
/(BAUD*16)-1) // clever runden
#define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1))) // Reale Baudrate
#define BAUD_ERROR ((BAUD_REAL*1000)/BAUD) // Fehler in Promille, 1000 = kein Fehler.
#if ((BAUD_ERROR<990) || (BAUD_ERROR>1010))
#error Systematischer Fehler der Baudrate grösser 1% und damit zu hoch!
#endif
/* UART-Init Bsp. ATmega16 */
void uart_init(void)
{
UCSRB |= (1<<TXEN); // UART TX einschalten
UCSRC |= (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); // Asynchron 8N1
UBRRH = UBRR_VAL >> 8;
UBRRL = UBRR_VAL & 0xFF;
}
int main(void) {
uart_init();
while (!(UCSRA & (1<<UDRE))) /* warten bis Senden moeglich */
{
}
UDR = 'x'; /* schreibt das Zeichen x auf die Schnittstelle */
}
Vielen Dank und viele Gruesse,
Jimmy
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen