51单片机串口通信问题,串口只给pc发送一次数据
如题,当P1.1=0时,单片机给pc发送一次数据,当p1.1=1&&p1.2=0时,单片机给pc发送另一个数据,同样只发送一次。求具体实现方法啊...
如题,当P1.1=0时,单片机给pc发送一次数据,当p1.1=1&&p1.2=0时,单片机给pc发送另一个数据,同样只发送一次。求具体实现方法啊
展开
1个回答
展开全部
你这里的难点在于"只发送一次",可以定义一个标志变量初始为0,当P1.1=0时且标志为0,向串口发送一个数据,并置该标志为1,即使P1.1依然为0也不会一直发送;当检测到P1.1=1时,置标志为0,以便下次再触发。其他依此类推。
追问
定义标志位具体怎么操作,给你看下我的主程序
void main()
{
init();
if(P37==0)
{
Send_Byte(0x00);
}
}
初学者 很多不懂,麻烦了
追答
void main() { char bz1=0;init(); if((P37==0)&&(bz1==0)) { Send_Byte(0x00); bz1=1;delay();//加上一个超过20ms的延时函数,防止按键抖动引起多次发送} if(P37==1)bz1=0; }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询