接收数据


读取接收数据大小

通过 available() 函数可读取串口端口接收的数据大小。

port.available()

此函数把自呼出始点串口端口读取的数据大小转换为整数。

确认接收数据1字节

通过 peek() 函数可确认自串口端口接收的数据中的第一个字节。

port.peek()

依据此函数返还的1字节数据继续留在缓冲区

读取接收数据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("115200N81T");
}

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);
}