void ser() interrupt 4 { static uchar string[2],i; if(RI) { RI=0; string[i++]=SBUF; if(i>1) i=0; if(string[0]=='-') { flag=1; //负温度 } if(string[0]=='+') //正温度 { flag=0; } if(string[0]=='!') { flag=2; //显示上限温度 } if(string[0]=='@') { flag=3; //显示下限温度 } wendu=string[1]; //存储数值 } }这段代码的意思
时间: 2024-02-06 22:13:10 浏览: 241
联想服务器SR650 raid卡530-8i 驱动装winserver2012 R2系统
这段代码是一个中断函数,用于处理串口接收数据。当接收到数据时,首先将数据存储到字符串数组 `string` 中,然后判断 `string[0]` 的值,根据不同的值来设置 `flag` 的值,最后将温度数值存储到 `wendu` 变量中。如果 `string[0]` 的值为 '-',则表示接收到的是负温度;如果 `string[0]` 的值为 '+',则表示接收到的是正温度;如果 `string[0]` 的值为 '!',则表示接收到的是显示上限温度的命令;如果 `string[0]` 的值为 '@',则表示接收到的是显示下限温度的命令。这段代码的具体实现可能与具体的应用场景有关。
阅读全文