The document show me that Serial.read returns the first byte of incoming serial data available .
ex: I send "hello" to arduino,it returns me ony "h".
Is there any way to get more byte per one time?
thanks.
No.
:o
If you look at Serial.read, it returns an int.
The only reason it doesn't return a char is because if there is no data to read, it returns -1.
It can't return more than one characer at a time.
Is that a problem for you?
Hint : you read it more than once........
thank u for reply!
last question,i know it returns int,so how to change it to character in the arduino?
With a simple 'char' cast.
could you show me a example?
OK,I see now,thank u
Below is some simple test code that captures the serial input into a string and sends it back to the serial monitor.
// zoomkat 8-6-10 serial I/O string test
// type a string in serial monitor. then send or enter
// for IDE 0019 and later
String readString;
void setup() {
Serial.begin(9600);
Serial.println("serial test 0021"); // so I can keep track of what is loaded
}
void loop() {
while (Serial.available()) {
delay(10);
if (Serial.available() >0) {
char c = Serial.read();
readString += c;}
}
if (readString.length() >0) {
Serial.println(readString);
readString="";
}
}
int x;
char y;
y = char(x) ;
to convert from asci to char
char c;
c = Serial.read(); // assume it reads N
y = c -'0'; // or else it will be 78
does this help :-/?