概述
- 该模式,在0d0a结束的数据包模式上进行扩展,可以接受任何字符结束的字符串,结束符可以是1~4字节
实现方法:
- 在appbase中添加对应的函数:
void onrecv(){
str s;
int size;
int bs;
bs=newbin(1024); //创建一个二进制数据
size=getrecvbin(0,bs,0); //读取串口1(编号0)接收的二进制数据存储到bs的0号位置
.......//处理二进制数据的代码
freestr(bs); //恢复内存
}
- 在对应的开始页面,比如第一个页面的start()语句前(或者某个按钮的onclick事件)中书写语句:
//进入二进制模式:
setrecvmode(3);
setrecvbin(0,3,0,0,0,0); //设置3个0结束符
来打开串口1接收数据的模式;详细参见setrecvmode 设置结束符的语句:setrecvbin
此时,串口接收到3个00的数据时候,就会自动调用app.onrecv()函数,在该函数中,使用提供urecv函数接收相应的数据;