Bamboocha
31.05.2010, 15:19
Hallo liebe Community,
ich bin noch blutiger uController Anfänger und brauche langsam mal ein Erfolgserlebniss, vielleicht könnt ihr mir ja weiterhelfen. (Ja Google, Forum suche, etc. hab ich zu hauf schon durchwälzt)
Erstmal Die Eckdaten
- ATMega 32
- STK 500
- AVR Studio 4.x SP2
- Hyperterminal
- WINAVR für die Makefile
Ich versuche dezeitig meinen uC mit Hyperterminal reden zu lassen. Auf den uC ist folgender c-Code (Geklaut^^) ich habe auch schon etwas selbstgeschriebenes probiert mit gleichem Nichterfolg:
#include <avr/io.h>
void USART_Init (void)
{
#if F_CPU < 2000000UL
UCSRA = (1 << U2X);
UBRRL = F_CPU / (8 * 9600UL) - 1;
#else
UBRRL = F_CPU / (16 * 9600UL) - 1;
#endif
/*Enable reciever and transmitter */
UCSRB = (1<<RXEN) | (1<<TXEN) ;
/*Set Frame format :8data, 2stop bit */
UCSRC = (1<<URSEL) | (1<<USBS) | (3<<UCSZ0) ;
}
void USART_Transmit ( unsigned char data )
{
/*Wait for empty transmit buffer */
while ( !(UCSRA & (1<<UDRE)) ) ;
/* Put data into buffer, sends data */
UDR = data ;
}
int main (void)
{
USART_Init();
while(1)
{
USART_Transmit ("O");
USART_Transmit ("K");
}
}
Zu meinen Einsellungen. Beginnend mit dem Einfachsten.
HT steht auf 9600 Boud mit 8Bits 2 Stops und ohne Parity und ich habe nur einen COM-Port :^o
STK500 uC sitzt drin ist programmierbar (ISP freq 54khz) und ISP6 auf SPROG3, RxD und Txd sind auf PD0 und PD1 gebrückt und ich steck das COM Kabel zum Ausleseversuch um.
Jetzt zum AVR Studio, Programmieren (ISP Frq 57khz) etc funktioniert, unter dem reiter Fuses ist der Haken bei Ckopt gesetzt und bei Sut_Cksel steht auf 4 Mhz interner Oszi, da kein externer Oszi vorhanden. Unter dem Reiter Advanced steht unter Oscillator Calibration Byte 4 Mhz
Tortz diverser Variationen sehe ich auf dem HT leider gar nix, bis auf wenn ich dem STK den Strom wegnehme und danach wieder gebe gibt er mir eine '00' aus. Wenn es wenisgtens 2 Zeichen wären könnte ich es ja auf die Frequenz oder ähnliches schieben, aber so bekomm ich rein gar nix. Irgendwo muss ich wohl einen grundlegenden Fehler machen, aber wo?
Bitte helft mir mit all euren Anregungen und Ideen.
Vielen Dank
Bamboocha
ich bin noch blutiger uController Anfänger und brauche langsam mal ein Erfolgserlebniss, vielleicht könnt ihr mir ja weiterhelfen. (Ja Google, Forum suche, etc. hab ich zu hauf schon durchwälzt)
Erstmal Die Eckdaten
- ATMega 32
- STK 500
- AVR Studio 4.x SP2
- Hyperterminal
- WINAVR für die Makefile
Ich versuche dezeitig meinen uC mit Hyperterminal reden zu lassen. Auf den uC ist folgender c-Code (Geklaut^^) ich habe auch schon etwas selbstgeschriebenes probiert mit gleichem Nichterfolg:
#include <avr/io.h>
void USART_Init (void)
{
#if F_CPU < 2000000UL
UCSRA = (1 << U2X);
UBRRL = F_CPU / (8 * 9600UL) - 1;
#else
UBRRL = F_CPU / (16 * 9600UL) - 1;
#endif
/*Enable reciever and transmitter */
UCSRB = (1<<RXEN) | (1<<TXEN) ;
/*Set Frame format :8data, 2stop bit */
UCSRC = (1<<URSEL) | (1<<USBS) | (3<<UCSZ0) ;
}
void USART_Transmit ( unsigned char data )
{
/*Wait for empty transmit buffer */
while ( !(UCSRA & (1<<UDRE)) ) ;
/* Put data into buffer, sends data */
UDR = data ;
}
int main (void)
{
USART_Init();
while(1)
{
USART_Transmit ("O");
USART_Transmit ("K");
}
}
Zu meinen Einsellungen. Beginnend mit dem Einfachsten.
HT steht auf 9600 Boud mit 8Bits 2 Stops und ohne Parity und ich habe nur einen COM-Port :^o
STK500 uC sitzt drin ist programmierbar (ISP freq 54khz) und ISP6 auf SPROG3, RxD und Txd sind auf PD0 und PD1 gebrückt und ich steck das COM Kabel zum Ausleseversuch um.
Jetzt zum AVR Studio, Programmieren (ISP Frq 57khz) etc funktioniert, unter dem reiter Fuses ist der Haken bei Ckopt gesetzt und bei Sut_Cksel steht auf 4 Mhz interner Oszi, da kein externer Oszi vorhanden. Unter dem Reiter Advanced steht unter Oscillator Calibration Byte 4 Mhz
Tortz diverser Variationen sehe ich auf dem HT leider gar nix, bis auf wenn ich dem STK den Strom wegnehme und danach wieder gebe gibt er mir eine '00' aus. Wenn es wenisgtens 2 Zeichen wären könnte ich es ja auf die Frequenz oder ähnliches schieben, aber so bekomm ich rein gar nix. Irgendwo muss ich wohl einen grundlegenden Fehler machen, aber wo?
Bitte helft mir mit all euren Anregungen und Ideen.
Vielen Dank
Bamboocha