Hallo Leute,
ich möchte gerne Daten von einem Mikrocontroller zu einem anderen Mikrocontroller senden.
Mikrocontroller2 wertet einen Ultraschallsensor SRF02 aus, und sendet die gemessene Entfernung zu Mikrocontroller1.
Probiert habe ich das ganze über die Serielle Schnittstelle der beiden Mikrocontroller.
Leider scheitert es immer wieder daran, dass die Zykluszeit des Mikrocontrollers der empfängt extrem in die Höhe schnellt.
Dazu muss man noch sagen, dass auf dem Mikrocontroller der empfangen soll, die Mulwii-Software läuft welche einen Quadrocopter steuert.
Sobald ich meinen Codeschnipsel in das Programm einfüge, geht die Zykluszeit in die höhe und der Quadrocopter reagiert nicht mehr.
Mikrocontroller1: ArduinoProMini Atmega 328p (empfängt)
Mikrocontroller2: Arduino Uno Atmega 328p (sendet)
Ultraschallsensor: SRF02
Diesen Code verwende ich auf dem zu empfangenden Mikrocontroller1:
void srf02_serial()
{
char inString[21];
int inCount;
inCount = 0;
do
{
while (Serial.available()==0);
inString[inCount] = Serial.read();
if(inString[inCount]==13) break;
}
while(++inCount < 20);
inString[inCount] = 0;
}
die Übertragung funktioniert zwar, aber wie gesagt, die Zykluszeit geht extrem in die Höhe.
kann ich an diesem Code etwas abändern damit er die Zykluszeit nicht so krass beeinflusst?
lg tobias
Lesezeichen