Ja ich weiß, dass nur ein Sub-D stecker für USART bestimmt ist und ich stöpsle immer um...
Hier der Code:
Code:
#include <avr/io.h>
#define F_CPU 12000000UL
#define BAUDRATE 9600UL
#define UBBR F_CPU/16/BAUDRATE-1
uint16_t zaehler = 0;
uint8_t Zustd = 0;
void usart_init(void){
UBRRH = UBBR >> 8; //Baudrate einstellen
UBRRL = UBBR & 0xff; //Baudrate einstellen
UCSRB = (1<<TXEN); //Transmitter (Daten schicken) aktivieren
UCSRC = (1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ0); //8Bit länge und 1 Stoppbit; Asynchron
}
void usart_send(void){
while (!(UCSRA & (1<<5))); //warten bis Senden moeglich (UDRE)
UDR = 'x';
}
int main(void){
DDRB = 0xff;
DDRD = 0xff;
PORTB = 0x00;
usart_init();
while(1){
usart_send();
zaehler++;
if (zaehler >= 1000)
{
zaehler = 0;
if(Zustd == 0){
PORTB = 0xFF;
Zustd = 1;
}
else{
PORTB = 0x00;
Zustd = 0;
}
}
}
}
Kann PORTB die Taktquelle stören?