Cela peut sembler un peu vague mais je ferai de mon mieux pour clarifier. Fondamentalement, j'utilise un périphérique mbed (FRDM k64f) qui envoie des données à un autre appareil via XBee. Ma question est,Comment lire les données uniquement lorsqu'une valeur est supérieure ou inférieure à un certain seuil
Comment puis-je l'obtenir pour envoyer des données seulement quand float mX, mY ou mZ (voir code ci-dessous) sont au-dessus ou en dessous d'un certain seuil, donc le reste du temps il est endormi. Est-ce possible?
Donc, actuellement, il envoie des données toutes les 5 secondes, mais je voudrais changer cela.
Voici mon code actuel
#include "mbed.h"
#include "C12832.h" //for LCD
#include "FXOS8700Q.h"// for magnetometer
Ticker timer;
DigitalOut gpo(D0);
DigitalOut led(LED_RED);
Serial xbee(D1, D0);
C12832 shld_lcd (D11, D13, D12, D7, D10);
FXOS8700Q_mag mSensor(PTE25, PTE24, FXOS8700CQ_SLAVE_ADDR1);
MotionSensorDataUnits mData;
//int tick = 0;
void setup() {
xbee.baud(9600);
}
/*
void attime() {
tick++;
}
*/
int main()
{
//timer.attach(&attime, 1);
mSensor.enable();
setup();
while (1) {
wait(5);
mSensor.getAxis(mData);
float mX = mData.x;
float mY = mData.y;
float mZ = mData.z;
xbee.printf("%.2f,%.2f,%.2f \r\n",mX,mY,mZ);
}
}
Utilisez une instruction if pour vérifier si les variables sont dans la plage souhaitée? – NathanOliver