this教程的第一部分解釋瞭如何知道您接收到多少個字符時如何從Arduino的串行端口讀取數據。將數據從Arduino內部串行緩衝區移動到內存
的代碼是這樣的:
byte buffer = 0;
void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}
void loop(){
if (Serial.available() >= 8) { //wait for the internal serial buffer to have all 8 characters in it
for (int i=0; i<8; i++) {
buffer[i] = Serial.read(); //move from internal buffer into memory
}
}
我不明白的部分是以下所示的行:
for (int i=0; i<8; i++) {
buffer[i] = Serial.read();
這樣不是隻存儲第一位從內部串行緩衝器到我的變量「緩衝區」的所有8位?代碼應該不是更像這樣的東西?
for (int i=0; i<8; i++) {
buffer[i] = Serial.read()[i];
謝謝你已經清除了一切。 – Blue7 2014-10-12 14:11:18
@djUniversal,我想發送到Arduino超過64個字節。但它無法閱讀更多。我使用Serial.read(),但緩衝區過載。如果您有任何提示,請。這是我的問題http://stackoverflow.com/questions/30670717/how-do-i-receive-more-that-64-bytes-with-arduino – Robert 2015-06-05 20:39:05