Displaying the received data to the serial monitor
i'm using xbee explorer sparkfun connected the
computer our transmitter. , receiver, have another
xbee (xbee pro series 1) , shield hooked arduino mega.
i'm trying transmitted packet displayed on arduino
serial monitor after gets received receiver. i'm using series1_rx code andrew rapp, i've added following print commands in respective rx_16 , rx_64 function statements.
in order print directly serial monitor. when compile code, following error: "error: call of overloaded 'println(uint8_t*)' ambiguous".
please how can fix this?
the full code is:
computer our transmitter. , receiver, have another
xbee (xbee pro series 1) , shield hooked arduino mega.
i'm trying transmitted packet displayed on arduino
serial monitor after gets received receiver. i'm using series1_rx code andrew rapp, i've added following print commands in respective rx_16 , rx_64 function statements.
code: [select]
serial.println(rx16.getdata());code: [select]
serial.println(rx64.getdata());in order print directly serial monitor. when compile code, following error: "error: call of overloaded 'println(uint8_t*)' ambiguous".
please how can fix this?
the full code is:
code: [select]
#include <xbee.h>
xbee xbee = xbee();
xbeeresponse response = xbeeresponse();
// create reusable response objects responses expect handle
rx16response rx16 = rx16response();
rx64response rx64 = rx64response();
int statusled = 11;
int errorled = 12;
int dataled = 10;
uint8_t option = 0;
uint8_t data = 0;
void flashled(int pin, int times, int wait) {
for (int = 0; < times; i++) {
digitalwrite(pin, high);
delay(wait);
digitalwrite(pin, low);
if (i + 1 < times) {
delay(wait);
}
}
}
void setup() {
pinmode(statusled, output);
pinmode(errorled, output);
pinmode(dataled, output);
// start serial
xbee.begin(9600);
flashled(statusled, 3, 50);
}
// continuously reads packets, looking rx16 or rx64
void loop() {
xbee.readpacket();
if (xbee.getresponse().isavailable()) {
// got something
if (xbee.getresponse().getapiid() == rx_16_response || xbee.getresponse().getapiid() == rx_64_response) {
// got rx packet
if (xbee.getresponse().getapiid() == rx_16_response) {
xbee.getresponse().getrx16response(rx16);
option = rx16.getoption();
data = rx16.getdata(0);
//serial.println(rx16.getdata());
} else {
xbee.getresponse().getrx64response(rx64);
option = rx64.getoption();
data = rx64.getdata(0);
serial.println(rx64.getdata());
}
// todo check option, rssi bytes
flashled(statusled, 1, 10);
// set dataled pwm value of first byte in data
analogwrite(dataled, data);
} else {
// not expecting
flashled(errorled, 1, 25);
}
}
}
never mind, got fixed including loop:
code: [select]
for (int i=0; i< rx64.getdatalength(); i++)
{
serial.print(rx64.getdata(i), hex);
}
Arduino Forum > Forum 2005-2010 (read only) > Software > Syntax & Programs > Displaying the received data to the serial monitor
arduino
Comments
Post a Comment