回复:smart200指针能不能操作位?

已锁定

rewgb

  • 帖子

    65
  • 精华

    0
  • 被关注

    1

论坛等级:侠客

注册时间:2017-03-06

普通 普通 如何晋级?

发布于 2021-05-07 15:38:48

15楼

展开查看
以下是引用yanxiao在2021-05-07 15:33:36的发言 >14楼

原则上,通过移位的方式寻址点,是可行的。

但是细想,存在一个很隐蔽的问题:如果是寻址位读取,没问题,如果是寻址位写入,则可能引发问题。

因为,移位方式寻址到 位再到最终的位写入,经历了多条指令的执行。

这期间,有可能发生中断程序的执行,打断了位寻址写入程序。

一个字节有多位组成,如果在中断中,对同一字节内的其它位执行写入,就会产生冲突问题。

所以,最好是在移位寻址前关闭中断,完成后再打开。

关中、开中指令不要写入子程序中,写在调用程序部分比较好,因为不一定使用。

无条件插入关中、开中指令,会使原本不需要开启中断的情况下,意外开启中断。


不过,解决方法总比问题多。

有一种方法,可以在一条指令中完成间接寻址位的写入过程,不怕中断程序的打断。

前面的相关贴子中提到过。

这个问题我也想过,我不想它太占资源  尤其是时间资源,真的怕中断了  完了     我还没想到办法

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8931条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。