Naja, ich setzte mich eben lieber mit dem Elektronischen/Software auseinander, als eine großartige mechanik zu bauen 
Code:
#define F_CPU 16000000UL // Systemtakt in Hz - Definition als unsigned long beachten >> Ohne ergeben Fehler in der Berechnung
#define BAUD 19200UL // Baudrate
// Berechnungen
#define UBRR_VAL ((F_CPU+BAUD*8)/(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
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRA = 0xff;
UCSRB |= (1<<TXEN); // UART TX einschalten
UCSRC |= (1<<URSEL)|(3<<UCSZ0); // Asynchron 8N1
UBRRH = UBRR_VAL >> 8;
UBRRL = UBRR_VAL & 0xFF;
while(1)
{
while (!(UCSRA & (1<<UDRE))) /* warten bis Senden moeglich */
{}
UDR = 'x';
PORTA = 0xff;
_delay_ms(500);
PORTA = 0x00;
_delay_ms(500);
}
}
Ich hab jetzt den Quarz dran, und dieser wird auch benutzt, allerdings hat sich nichts geändert, es kommen keine Daten an.
Kann ich denn (ohne oszi) prüfen, ob am Mega32 bzw. am MAX232 etwas gesendet wird?
Was könnte ich auf Hardwareebene noch testen?
Lesezeichen