Communiceren tussen PHP en Arduino
2 berichten
• Pagina 1 van 1
Communiceren tussen PHP en Arduino
Ik voer vanuit een PHP script het volgende uit:
exec("mode COM5 BAUD=9600 PARITY=N data=8 stop=1 xon=off");
Hierna verstuur ik data met fputs("Bericht").
In een Arduino sketch luister ik naar de data in void loop().
Alleen het moment van versturen en ontvangen sluit niet op elkaar aan.
Soms ontvangt de loop wel de data, soms niet afhankelijk van wanneer de loop begint.
Wat kan ik doen, zodat de data altijd instant ontvangen kan worden met Serial.readString()?
exec("mode COM5 BAUD=9600 PARITY=N data=8 stop=1 xon=off");
Hierna verstuur ik data met fputs("Bericht").
In een Arduino sketch luister ik naar de data in void loop().
Alleen het moment van versturen en ontvangen sluit niet op elkaar aan.
Soms ontvangt de loop wel de data, soms niet afhankelijk van wanneer de loop begint.
Wat kan ik doen, zodat de data altijd instant ontvangen kan worden met Serial.readString()?
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Communiceren tussen PHP en Arduino
readString heel gauw uit je hoofd zetten omdat String nogal erg slecht omgaat met geheugen gebruik en vrijgeven
als volgt oplossing:
cpp code
als volgt oplossing:
cpp code
char ontvangstBericht[100]; // maxlengte bericht is hier 99 tekens + string terminator
uint16_t bufferIndex; // index verwijzend naar plek in buffer
//
// alleen wat doen als er info is
//
bufferIndex = 0;
while (Serial.avaialable() {
ontvangsBericht[bufferIndex] = Serial.read();
bufferIndex++;
}
//
// als de buffer index gelijk aan 0 is, is er niets ontvangen
//
if (bufferIndex != 0 ){
//
// er staat data in de buffer
//
.....
}
2 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 91 gasten