Go Down

Topic: Project keeps randomly crashing (Read 432 times) previous topic - next topic


I've got 2 Arduino's running. One transmits 4 numbers every minute via a 433MHZ wireless module at 1200 baud (Using VirtualWire)

The other receives these numbers and sends them to the PC via a serial port. The numbers transmitted to computer are in the format "*,no1, no2, no3, no4,#"

Everything is so far working great - the problem I've found is that the receiver randomly stops working (most of the time after an  hour)

If I reset the receiver it starts working again.

I've posted my code below, does anything stand out which could cause a problem. Hopefully I'm missing something simple as I can't understand why the code stops. It seems pretty simple enough.

Code: [Select]
#include <VirtualWire.h>

#define rxPin 4
#define txPin 5

int numbers[4];

void setup()
vw_setup(1200); // Bits per sec
vw_rx_start(); // Start the receiver PLL running


void loop()
 uint8_t buf[VW_MAX_MESSAGE_LEN];
 uint8_t buflen = VW_MAX_MESSAGE_LEN;

 if (vw_get_message(buf, &buflen)) // check to see if anything has been received
   Serial.print("*");          //Start Bit
   for (int i = 0; i < 4; i++)
     numbers[i] = word(buf[i*2+1], buf[i*2]);
     Serial.print(numbers[i], DEC);
  Serial.print("#");          //Stop Bit


  if (vw_get_message(buf, &buflen)) // check to see if anything has been received

OK you check if anything has been received but you don't check how much -> buflen  ???

=> add  serial.print(buflen, DEC); to check if there is the problem.
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)


Thanks for the tip - I'll have a look at that.

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131