Means if I give the function unsigned integer with 8 bits(An array), then I do not need to write the keyword uint8_t ?
Correct ?
No. An unsigned integer is not an array and it isn't 8 bits.
Means if I give the function unsigned integer with 8 bits(An array), then I do not need to write the keyword uint8_t ?
Correct ?
No. An unsigned integer is not an array and it isn't 8 bits.
So, if I want to send a number 2, then how do I wrote it in array of 8 bits ??? Thanks
So, if I want to send a number 2, then how do I wrote it in array of 8 bits ??? Thanks
uint8_t msg[1] = 2;
vw_send(msg, 1);
So from this can I say uint8_t is like a data type ?
For example int variable, so uint8_t variable ?
Thanks
PaulS:
So, if I want to send a number 2, then how do I wrote it in array of 8 bits ??? Thanks
uint8_t msg[1] = 2;
vw_send(msg, 1);
So how about the receiving part ?
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
[b] if (vw_get_message(buf, &buflen)) // Non-blocking[/b]
{
int i;
digitalWrite(13, true); // Flash a light to show received good message
// Message with a good checksum received, dump it.
Serial.print("Got: ");
for (i = 0; i < buflen; i++)
{
Serial.print((char)buf[i]);
Serial.print(" ");
}
Serial.println("");
digitalWrite(13, false);
}
}
What does it means ?
What does it means ?
As you posted it, it means nothing, which is why you should post your code between code tags
Modified ! Thanks . hope you can help me
What does it means ?
In a nutshell, see if there's any data to read, read it if (vw_get_message(buf, &buflen))
, and then print it
for (i = 0; i < buflen; i++)
{
Serial.print((char)buf[i]);
Serial.print(" ");
}
.
Is this the syntax ? Thanks
AWOL:
What does it means ?
In a nutshell, see if there's any data to read, read it
if (vw_get_message(buf, &buflen))
, and then print itfor (i = 0; i < buflen; i++)
{
Serial.print((char)buf[i]);
Serial.print(" ");
}
.
Then how about vw_have_message()?
From the reference:
uint8_t vw_have_message ( )
Returns:
true if a message is available to read
OK..so means I can use the idea that vw_have_message () then do something ?
If you don't mind blocking, you could just use "vw_wait_rx", or just use "vw_get_message" as you've shown.
Blocking of what ? Blocking of the signal from transmitter ?
No, blocking of your code, waiting for a message to arrive.
Oh..it means the code sometimes will fail to execute ? Am I correct ?
it means the code sometimes will fail to execute ? Am I correct ?
During development, code will always sometimes fail to execute as we expect it to.
But, no, you are not correct. "Blocking" means the code will loop waiting until a message is received. This may or may not be a problem for you.
The great thing about the Arduino is that you can try things, and if they don't work, try something different.
The frequency of your questions leads me to suspect you're not trying the things you're asking about.
Cool..yea I shall work for it now..thanks so much ..This library is easy to use !
So from this can I say uint8_t is like a data type ?
It isn't "like a data type". It IS a data type, just like int, float, byte, char, long, etc.
The u up front indicates unsigned. The int differentiates the type from floating point types. The 8 explicitly defines the size of the variables, in bits. The _t indicates that the type is a standard type. Every compiler is supposed to recognize the type, and allocate the same space for it.
This is not true of types like int. An int can be 16 bits, 32 bits, or 64 bits (or other unusual sizes), depending on the platform. A uint8_t is always 8 bits. A int32_t is always 32 bits. A uint64_t is always 64 bits.
AWOL:
it means the code sometimes will fail to execute ? Am I correct ?
During development, code will always sometimes fail to execute as we expect it to.
But, no, you are not correct. "Blocking" means the code will loop waiting until a message is received. This may or may not be a problem for you.The great thing about the Arduino is that you can try things, and if they don't work, try something different.
The frequency of your questions leads me to suspect you're not trying the things you're asking about.
#include <VirtualWire.h>
#undef int
#undef abs
#undef double
#undef float
#undef round
void setup()
{
Serial.begin(9600); // Debugging only
Serial.println("setup");
// Initialise the IO and ISR
vw_set_ptt_inverted(true); // Required for DR3100
vw_setup(2000); // Bits per sec
vw_rx_start(); // Start the receiver PLL running
pinMode(13, OUTPUT);
}
void loop()
{
uint8_t count;
if(count==true)
{
count = false;
}
count = vw_wait_rx_max(2000);// Non-blocking
if (true)
{
digitalWrite(13, HIGH); // Flash a light to show received good message
delay(500);// Message with a good checksum received, dump it.
digitalWrite(13, LOW);
delay(500);
}
else if(false)
{
digitalWrite(13, HIGH);
delay(100);
digitalWrite(13,LOW);
delay(100);
}
}
I write this code..I want it to be like when it does not receive message for 2s, then it will return false. If it receive message, then return true. Then it will only blink once then the whole system become false again. So what moddification I need to do ?
Thanks