甲机控制乙机一盏灯亮 程序小问题

[复制链接]
 楼主| 张张张张崔 发表于 2016-11-19 10:25 | 显示全部楼层 |阅读模式
甲机主函数程序:(初始化与定义略过)
while(1){
        if(buttom==0)
        {
                while(buttom==0);
                }
       k=1;
        switch(k)
                {
                        case 1:send_serialport('a');
                                        break;                                       
}}
我把其他case删了 ,直接赋值为1 ,这样更好让大家看清,现在就说一个case的情况下;
乙机的主函数接收程序:((初始化与定义略过))
        while(1){
        if(RI==1)
        {        RI=0;
                switch(SBUF)
                {
                        case 'a':led1=~led1;
                                        break;
                       
                }
                delayms(10);
        }                                       
}
}
问题:按键按下之后,发送数据给乙机,乙机的灯不应该只是改变一下状态吗,就是原本灭的变成亮的就结束了,但是实际为什么是一直闪烁的
长的帅怪我落 发表于 2016-11-19 10:29 | 显示全部楼层
K=1后就一直是1了不是吗?
 楼主| 张张张张崔 发表于 2016-11-19 10:32 | 显示全部楼层
长的帅怪我落 发表于 2016-11-19 10:29
K=1后就一直是1了不是吗?

k=1一直是1了没问题,但是只要没有数据再发送过来,乙机RI就不会置1,这样下面switch语句中的led=~led就不会再执行啊?
长的帅怪我落 发表于 2016-11-19 10:37 | 显示全部楼层
张张张张崔 发表于 2016-11-19 10:32
k=1一直是1了没问题,但是只要没有数据再发送过来,乙机RI就不会置1,这样下面switch语句中的led=~led就 ...

k一直是1,甲就在一直发,不知道你的乙的RI是到那里置1的,怎么置1的,我 估计是接受到甲机数据后自动置1吧

评分

参与人数 1威望 +1 收起 理由
张张张张崔 + 1 赞一个!

查看全部评分

 楼主| 张张张张崔 发表于 2016-11-19 10:52 | 显示全部楼层
长的帅怪我落 发表于 2016-11-19 10:37
k一直是1,甲就在一直发,不知道你的乙的RI是到那里置1的,怎么置1的,我 估计是接受到甲机数据后自动置1 ...

对,是接收到甲机数据自动置1的,对对对,甲机是一直发送的,谢谢大神,还能再帮我个忙告诉我怎么结帖吗,找半天了
长的帅怪我落 发表于 2016-11-19 10:55 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

9

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部