通过 available() 函数可读取串口端口接收的数据大小。
port.available()
此函数把自呼出始点串口端口读取的数据大小转换为整数。
通过 peek() 函数可确认自串口端口接收的数据中的第一个字节。
port.peek()
依据此函数返还的1字节数据继续留在缓冲区。
通过 read() 函数可读取自串口端口接收的数据中的第一个字节。
port.read()
依据此函数返还的1字节数据在缓冲区被删除。
#include <PhpocExpansion.h>
#include <Phpoc.h>
#define BUFFER_SIZE 100 // read and write buffer size, reduce it if memory of Arduino is not enough
byte spcId = 1;
ExpansionSerial port(spcId);
byte rwbuf[BUFFER_SIZE]; // read and write buffer
void setup() {
Serial.begin(9600);
while(!Serial)
;
Phpoc.begin(PF_LOG_SPI | PF_LOG_NET);
Expansion.begin();
port.begin("115200N81N");
}
void loop() {
int txfree = port.availableForWrite();
// gets the size of received data
int rxlen = port.available();
if(rxlen > 0) {
// reads the next byte of incoming serial data
int value = port.read();
Serial.print("read : ");
Serial.println(value);
}
delay(1);
}