C#新手自学一个串口小项目,通过串口接收单片机数据,单片机每次发来1bit数据55(帧头)、01/00(灯亮/灭)、02(地址,),怎么实现先判断帧头、再判断灯状态,最后通过地址使想要的信号灯亮/灭?我使用标准位进行判断没有反应,各位大佬指导下。说得不太清楚,用图片说明吧。
接收单片的数据:
实现的功能:(55 00 02)/(55 01 02)
我写的标志位判断:
int falge = 0;//接收数据标志位
int led_falge = 0;//灯状态标志位
int led_dz = 0; //灯地址标准位
if (falge == 0)
{
if (sb.ToString() == "55 ")
{
falge = 1;
}
else
{
falge = 0;
}//复位
}
if (falge == 1)
{
if (sb.ToString() == "02 ")
{
led_falge = 1;
}
else
{
led_falge = 0;
}
}
if (led_falge == 1)
{
if (sb.ToString() == "02 ")
{
led_dz = 2;
}
}
if (led_dz == 2)
{
/* 灯亮 并且复位接收数据标志位*/
pictureBox6.Image = imageList1.Images[2];
// falge = 0;
}
else
{
/*灯灭的代码 记得复位数据接收标志位 */
pictureBox6.Image = imageList1.Images[0];
// falge = 0;
}