
Zitat von
SlyD
Schau Dir mal
void task_commandProcessor(void)
an.
Da einfach nen neues Kommando hinzufügen (neuen case) in dem halt irgendwas gemacht wird active = param1 z.B.
Der Aufruf geht dann genauso wie bei CMD_SETLEDS.
MfG,
SlyD
Hallöle genau daran scheiter ich grad.
Evtl hab ich was übersehen.
Ich hab zwei neue CMD's definiert
#define CMD_REMOTE_ON 13
#define CMD_REMOTE_OFF 14
sowohl im M32 als auch in der Base.
im task_commandProcessor der Base (gibt es ja nur da) hab ich au noch 2 neue Fälle eingebaut:
Code:
case CMD_REMOTE_ON:
remote_control=true;
break;
case CMD_REMOTE_OFF:
remote_control=false;
break;
die Variable remote_control hab ich au noch definiert.
Im Hauptprogramm des M32 setze ich diese Varible dann mit
Code:
I2CTWI_transmitByte(I2C_RP6_BASE_ADR, CMD_REMOTE_ON);
bzw
I2CTWI_transmitByte(I2C_RP6_BASE_ADR, CMD_REMOTE_OFF);
und in der Base wird die mittels einer if-abfrage
if ( ( remote_control == false) ) {}
else {}
verwendet.
Nur irgendwie klappt das nicht so wie es soll.
Er rennt immer in die if-Abfrage rein als ob remote_control immer auf false wär.
Die I2C Adresse der Base ist auch in beiden Programmen gleich.
Lesezeichen