Forum: Compiler & IDEs U(S)ART ATmega32 gibt nix zurück


von Bamboo (Gast)


Lesenswert?

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, 
Checkliste, 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:
Zitat:

#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 Liar

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
Bamboo

von g457 (Gast)


Lesenswert?

Handshake deaktiviert? Blinkt eine LED Testweise in der erwarteten 
Frequenz? Pegelwandler anwesend?

von Karl H. (kbuchegg)


Lesenswert?

Bamboo schrieb:

> Tortz diverser Variationen sehe ich auf dem HT leider gar nix,

Dann wirds Zeit für den Einfachsttest:

Prozessor aus dem Sockel.
Im Sockel eine Drahtbrücke von PD0 auf PD1
und auf dem Hyperterminal klimpern.

Siehst du das was du tippst -> Kabel inklusive Übertragungsstrecke
 ist in Ordnung
Siehst du das nicht -> Kabel auskreuzen

von Flo (Gast)


Lesenswert?

Bamboo schrieb:
> 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.

Könnte am internen Takt liegen.

von Karl H. (kbuchegg)


Lesenswert?

Flo schrieb:
> Bamboo schrieb:
>> 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.
>
> Könnte am internen Takt liegen.

Wenn der Takt knapp daneben liegt, dann rauschen am Hyperterminal 
zumindest irgendwelche Zeichen durch. Er sieht aber gar nichts.

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.