51单片机串口通信问题,串口只给pc发送一次数据

如题,当P1.1=0时,单片机给pc发送一次数据,当p1.1=1&&p1.2=0时,单片机给pc发送另一个数据,同样只发送一次。求具体实现方法啊... 如题,当P1.1=0时,单片机给pc发送一次数据,当p1.1=1&&p1.2=0时,单片机给pc发送另一个数据,同样只发送一次。求具体实现方法啊 展开
 我来答
bdcq10
推荐于2017-12-15 · TA获得超过1434个赞
知道小有建树答主
回答量:1174
采纳率:80%
帮助的人:563万
展开全部
你这里的难点在于"只发送一次",可以定义一个标志变量初始为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; }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式