问一个逻辑

2019-08-17 08:30发布

执行状态0;满足条件状态置1,等待100ms,如果没有中断发生状态置0,有中断就执行状态1,,,,现在这个状态机在中断里面,所以延时不能放中断里面,有没有什么好办法
大概是这样
switch(state)
{
case 0:
         state=1;
         delay(100);
        state=0;
        break;
case  1:
        xxxx();
        break;
}   
     
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
30条回答
执迷
1楼-- · 2019-08-20 01:34
dozm 发表于 2017-6-10 15:14
中断置位,函数放在while里,延时用定时器中断,设置个计数变量。第一次中断建立连接,计数变量赋值延时1 ...

恩、、这样要用到两个定时器、、、实在不行也只能这样了
MrXiong
2楼-- · 2019-08-20 06:47
执迷 发表于 2017-6-10 14:25
没有,,就一个中断,,我的意思是第二次中断,,没说清楚

那就要看你的中断是用来做什么的了,是外部中断,还是定时器中断呢
MrXiong
3楼-- · 2019-08-20 08:59
执迷 发表于 2017-6-10 14:25
没有,,就一个中断,,我的意思是第二次中断,,没说清楚

很多时候,一般都是从功能出发,看什么方式实现它最简单,觉得这个也是要考虑一下的
来俩不甜的
4楼-- · 2019-08-20 09:08
 精彩回答 2  元偷偷看……
安尚科技
5楼-- · 2019-08-20 12:00
执迷 发表于 2017-6-10 14:42
恩,就是接受完数据中断建立连接处理数据,100ms没接到下个数据就断开连接

晕,没看懂我的话,那你慢慢研究吧。
执迷
6楼-- · 2019-08-20 16:59
来俩不甜的 发表于 2017-6-10 21:37
为什么要握手?握手是干什么用的,

一般两个设备通讯不都要先握手吗

一周热门 更多>