打印

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

[复制链接]
1006|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
张张张张崔|  楼主 | 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 赞一个!
5
张张张张崔|  楼主 | 2016-11-19 10:52 | 只看该作者
长的帅怪我落 发表于 2016-11-19 10:37
k一直是1,甲就在一直发,不知道你的乙的RI是到那里置1的,怎么置1的,我 估计是接受到甲机数据后自动置1 ...

对,是接收到甲机数据自动置1的,对对对,甲机是一直发送的,谢谢大神,还能再帮我个忙告诉我怎么结帖吗,找半天了

使用特权

评论回复
6
长的帅怪我落| | 2016-11-19 10:55 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

9

帖子

0

粉丝