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

已锁定

yanxiao

版主

  • 帖子

    12325
  • 精华

    49
  • 被关注

    194

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2021-05-07 15:33:36

14楼

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

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

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

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

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

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

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

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


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

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

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

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9426条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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