解析不定长字符串(以回车换行结尾)
注意
每个页面仅建议在一个定时器中读取串口缓冲区的数据,在多个定时器中读取串口缓冲区的数据容易照成逻辑混乱。
注意
字符串需要以 0d 0a 结尾
新建一个空白工程
在工程中新建一个定时器tmDecode,tim设置为50,en设置为1,用于定时解析串口数据
新建数字控件t0,txt_maxl设置为200,用于显示解析出来的数据
program.s中的配置如图所示
//以下代码只在上电时运行一次,一般用于全局变量定义和上电初始化数据
//全局变量定义目前仅支持4字节有符号整形(int),不支持其他类型的全局变量声明,如需使用字符串类型可以在页面中使用变量控件来实现
int sys0=0,sys1=0,sys2=0
int usize2,length,totalLength
//波特率115200
bauds=115200
//亮度100
dim=100
//打开主动解析
recmod=1
page 0 //上电刷新第0页
解析定时器(tim为50)中的代码如下图所示
if(usize>=2)
{
usize2=usize-1
for(length=0;length<usize2;length++)
{
if(u[length]==0x0d&&u[length+1]==0x0a)
{
totalLength=length+2
ucopy t0.txt,0,length,0
udelete totalLength
}
}
}
解析不定长字符串(以回车换行结尾)-样例工程下载
演示工程下载链接: