新手入门
- 积分
- 11
- 金钱
- 11
- 注册时间
- 2019-4-25
- 在线时间
- 1 小时
|
1金钱
本帖最后由 铭铭唐 于 2019-4-25 12:47 编辑
if(USART3_RX_STA&0X8000) //接收到一次数据了
{
LCD_Fill(30,200,240,320,WHITE); //清除显示
reclen=USART3_RX_STA&0X7FFF; //得到数据长度
USART3_RX_BUF[reclen]=0; //加入结束符
if(reclen==9||reclen==8) //控制DS1检测
{
if(strcmp((const char*)USART3_RX_BUF,"+LED1 ON")==0)LED1=0; //打开LED1
if(strcmp((const char*)USART3_RX_BUF,"+LED1 OFF")==0)LED1=1;//关闭LED1
}
LCD_ShowString(30,200,209,119,16,USART3_RX_BUF);//显示接收到的数据
USART3_RX_STA=0;
}
这个函数中:if(strcmp((const char*)USART3_RX_BUF,"+LED1 ON")==0)LED1=0; //打开LED1,我将"+LED1 ON” 随便改动一个字符,就无法控制LED灯了。举个例子,我改成 if(strcmp((const char*)USART3_RX_BUF,"open")==0)LED1=0; //打开LED1,之后,再通过手机发送open,结果一点反应都没有
|
|