梦雨天涯
微信hui530527   &
级别: 网络英雄
精华主题: 0
发帖数量: 4488 个
工控威望: 7875 点
下载积分: 16359 分
在线时间: 3103(小时)
注册时间: 2016-10-31
最后登录: 2025-02-22
查看梦雨天涯的 主题 / 回贴
楼主  发表于: 11天前
图片:
图片:
如图,按照先建立指针,指针地址变化,然后赋值内容到指针,有&和*号,就是没办法成功。
微信hui530527      b站账号,非标自动化谭工
请不要随意加我,不会随便通过。QQ群942493953
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5241 个
工控威望: 7465 点
下载积分: 159653 分
在线时间: 3190(小时)
注册时间: 2007-11-21
最后登录: 2025-02-21
查看sjm213的 主题 / 回贴
1楼  发表于: 10天前
引用
引用第2楼梦雨天涯于2025-02-12 12:23发表的  :

第1指定指针只能开机指定一次
第2指针不能赋值,只能做加减法
第3,需要指定地址后,才能延时赋值,要不然会出错


第1条,不对。指针可以多次指定,不过是跟双线圈一样,要注意不要有冲突;
第2条,不对。指针可以赋值,但是要按照他固定的格式来赋值。如监控所示的16#08000064就是VD100寄存器对应的指针。这样赋值太抽象了,所以在寄存器前边加&符号,自动把地址转换成16#08000064,不需要自己来做这个转换(不过如果必须经过转换才赋值给指针,那么会对理解指针格式有更好的帮助,反而不容易出错了)。
     如果直接对指针进行MOV赋值,写入到这个指针的是寄存器内的数值,导致其格式受损,指针失效。
    加法、减法就是在16#08000064基础上进行操作,比如加4就是让指针变为16#08000068,指向VD104,从而实现了指针地址的改变。
第3条,对的。需要先制定地址再进行赋值,不然赋值到哪去呢?