Hallo Dirk,
ich habe heute morgen eine Testfunktion eingebaut und erst kommt nicht 0x55 zurück.
Die Routine geht sogar in einen Timeout, was wohl aus der falschen Baudrate sich ergibt.
Edit: Lösung gefunden
Code:RS232_Init(BAUD_RATE9600); // Init Port for the stand of the Compass InitSPIInterface(); sei(); // release the interrupts getGyroZerovalue(); // read the middle point of the Gyro for calibration initFilterArray(); Delay_ms(500); // Wait unit external hardware is ready RS232_PutByte(0xA1); // Setup the Compass for 19200Baud Delay_ms(500); // Wait unit external hardware is ready RS232_Init(BAUD_RATE38400); // Init Port now to 19200 as well Delay_ms(500); // Wait unit external hardware is ready iRs232State=RS232_GetByte(&(m_RS232_Buffer[0])); // get the Baudrate Ok
Ich habe eine Verzögerungszeit nach dem Senden eingefügt, bevor ich die Baudrate umschalte.
Jetzt scheint es zu gehen. Siehe Code oben.
Danke für den Tip mit dem Status auswerten. Hiermit kam ich erst auch die Idee mit der Verzögerung.
Gruss R.
Lesezeichen