打印
[STM8]

怎么做到两个动作互不干预?

[复制链接]
1147|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
折腾无止境|  楼主 | 2017-11-30 10:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个动作控制推杆,一个动作控制马达?
怎么实现?
路过的指导一下,谢谢!
沙发
stm32jy| | 2017-11-30 12:23 | 只看该作者
不太明白你什么意思?可以说的详细点吗

使用特权

评论回复
板凳
gujiamao12345| | 2017-11-30 12:36 | 只看该作者
具体点,什么样东西

使用特权

评论回复
地板
折腾无止境|  楼主 | 2017-11-30 12:39 | 只看该作者
stm32jy 发表于 2017-11-30 12:23
不太明白你什么意思?可以说的详细点吗

现在的情况就是

按下马达按键,马达一直再动,再按下马达按键,马达关闭;
按下推杆按键,推杆工作,松开按键,推杆关闭;
假如马达在动,一直按下推杆的按键,推杆动了而马达不动;
我想要这两个动作互不干预!

使用特权

评论回复
5
折腾无止境|  楼主 | 2017-11-30 12:39 | 只看该作者
gujiamao12345 发表于 2017-11-30 12:36
具体点,什么样东西

现在的情况就是

按下马达按键,马达一直再动,再按下马达按键,马达关闭;
按下推杆按键,推杆工作,松开按键,推杆关闭;
假如马达在动,一直按下推杆的按键,推杆动了而马达不动;
我想要这两个动作互不干预!

使用特权

评论回复
6
kingkits| | 2017-11-30 13:01 | 只看该作者
整俩芯片单独控制

使用特权

评论回复
7
gujiamao12345| | 2017-11-30 13:06 | 只看该作者
折腾无止境 发表于 2017-11-30 12:39
现在的情况就是

按下马达按键,马达一直再动,再按下马达按键,马达关闭;

是不是这部分代码互斥了。
方便贴下代码的逻辑不?

使用特权

评论回复
8
blust5| | 2017-11-30 13:36 | 只看该作者
你的程序逻辑处理有问题。用中断,不要用查询。。

使用特权

评论回复
9
blust5| | 2017-11-30 13:37 | 只看该作者
还有你的描述有问题,你确定你说的“按下”都是在表达同一个意思?

使用特权

评论回复
10
墙上的咖啡| | 2017-11-30 21:40 | 只看该作者
和你的程序框架有关系了。

使用特权

评论回复
11
zhuotuzi| | 2017-11-30 21:53 | 只看该作者
两个按键实现

使用特权

评论回复
12
yiyigirl2014| | 2017-11-30 23:27 | 只看该作者
状态机的方式应该可以

使用特权

评论回复
13
布丁奶茶| | 2017-12-1 14:31 | 只看该作者
不知道我理解的对不对,楼主可以这样做:将马达按键和推杆按键分开,这两个按键各种控制要做的事情。然后再设定一个中间量,来管理马达和推杆互斥的情况。

使用特权

评论回复
14
caijie001| | 2017-12-3 09:58 | 只看该作者
用两个按键搞定,

使用特权

评论回复
15
caijie001| | 2017-12-3 09:59 | 只看该作者
逻辑问题而已

使用特权

评论回复
16
duhemayi| | 2017-12-13 16:48 | 只看该作者
楼主逻辑有问题

使用特权

评论回复
17
killalljp| | 2017-12-13 17:27 | 只看该作者
呵呵 楼主的程序是串行运行的吧?用定时器改为并行运行吧!

void 定时器中断()
{
    if(需要控制马达?)
    {
        马达运行;
    }
    if(需要控制推杆?)
    {
        推杆运行;
    }   
}

使用特权

评论回复
18
折腾无止境|  楼主 | 2017-12-15 08:29 | 只看该作者
killalljp 发表于 2017-12-13 17:27
呵呵 楼主的程序是串行运行的吧?用定时器改为并行运行吧!

void 定时器中断()

谢谢

使用特权

评论回复
19
huahuagg| | 2017-12-15 18:54 | 只看该作者
检测两个动作就行了啊。

使用特权

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

本版积分规则

37

主题

65

帖子

0

粉丝