[STM8] 两个动作互不干预

[复制链接]
643|14
 楼主| huwr 发表于 2019-6-22 15:02 | 显示全部楼层 |阅读模式
一个动作控制推杆,一个动作控制马达?
怎么实现?
路过的指导一下,谢谢!
bqyj 发表于 2019-6-22 15:04 | 显示全部楼层
不太明白你什么意思?可以说的详细点吗
 楼主| huwr 发表于 2019-6-22 15:09 | 显示全部楼层
现在的情况就是

按下马达按键,马达一直再动,再按下马达按键,马达关闭;
按下推杆按键,推杆工作,松开按键,推杆关闭;
假如马达在动,一直按下推杆的按键,推杆动了而马达不动;
我想要这两个动作互不干预!
zhuhuis 发表于 2019-6-22 15:12 | 显示全部楼层

整俩芯片单独控制
tian111 发表于 2019-6-22 15:15 | 显示全部楼层

是不是这部分代码互斥了。
方便贴下代码的逻辑不?
songqian17 发表于 2019-6-22 15:19 | 显示全部楼层
你的程序逻辑处理有问题。用中断,不要用查询。。
chenho 发表于 2019-6-22 15:21 | 显示全部楼层
还有你的描述有问题,你确定你说的“按下”都是在表达同一个意思?
chenho 发表于 2019-6-22 15:26 | 显示全部楼层

和你的程序框架有关系了。
chuxh 发表于 2019-6-22 15:31 | 显示全部楼层

两个按键实现
juventus9554 发表于 2019-6-22 15:34 | 显示全部楼层

状态机的方式应该可以
llljh 发表于 2019-6-22 15:38 | 显示全部楼层
不知道我理解的对不对,楼主可以这样做:将马达按键和推杆按键分开,这两个按键各种控制要做的事情。然后再设定一个中间量,来管理马达和推杆互斥的情况。
wyjie 发表于 2019-6-22 15:42 | 显示全部楼层
用两个按键搞定,

逻辑问题而已
pengf 发表于 2019-6-22 15:46 | 显示全部楼层

楼主逻辑有问题
renyaq 发表于 2019-6-22 15:49 | 显示全部楼层
呵呵 楼主的程序是串行运行的吧?用定时器改为并行运行吧!

void 定时器中断()
{
    if(需要控制马达?)
    {
        马达运行;
    }
    if(需要控制推杆?)
    {
        推杆运行;
    }   
}
supernan 发表于 2019-6-22 15:52 | 显示全部楼层
检测两个动作就行了啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

780

主题

8627

帖子

5

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