技术论坛

smart200指针能不能操作位?

作者 主题
侠客

经验值: 684
发帖数: 63
精华帖: 0
主题:【探讨】smart200指针能不能操作位?


只看楼主 楼主 2021-05-02 06:11:50

smart200指针能不能操作位?


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1693854&b_id=64&s_id=0&num=16

至圣

经验值: 30298
发帖数: 4511
精华帖: 26
回复:smart200指针能不能操作位?


只看楼主 1楼 2021-05-02 06:33:39
具体详细说一下吧,最好有图有真相啊。
 
以下网友喜欢您的帖子:

  
奇侠

经验值: 8096
发帖数: 1308
精华帖: 6
回复:smart200指针能不能操作位?


只看楼主 2楼 2021-05-02 09:30:02

双字就包含位......然后取双字里面得位


养活一团春意思,撑起两根穷骨头
以下网友喜欢您的帖子:

  
至圣

经验值: 67543
发帖数: 14782
精华帖: 100
回复:smart200指针能不能操作位?


只看楼主 3楼 2021-05-02 09:51:41

可以用编程的方式达成。

一个月前就发过这样的帖。要找找。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 17408
发帖数: 6225
精华帖: 18
回复:smart200指针能不能操作位?


只看楼主 4楼 2021-05-02 12:27:40

可以的,论坛里有相关的帖子。


 
以下网友喜欢您的帖子:

  
侠客

经验值: 684
发帖数: 63
精华帖: 0
回复:smart200指针能不能操作位?


只看楼主 楼主 5楼 2021-05-03 08:39:12

能不能附带帖子的连接啊


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67543
发帖数: 14782
精华帖: 100
回复:smart200指针能不能操作位?


只看楼主 6楼 2021-05-03 11:16:32

楼主,哥们。你找也是找,观众找也是找,何苦要为难观众?就在论坛本版块,一个月以内的回帖。

这东西可遇不可求,遇到的时候可能一眼略过。要的时候找一天都找不到。


 
以下网友喜欢您的帖子:

  
侠客

经验值: 684
发帖数: 63
精华帖: 0
回复:smart200指针能不能操作位?


只看楼主 楼主 7楼 2021-05-04 09:05:22

我的意思是有人正好看到了 就分享下  我也找了好久  没看到 


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67543
发帖数: 14782
精华帖: 100
回复:smart200指针能不能操作位?


只看楼主 8楼 2021-05-04 13:23:07

那现在找到了吗?


 
以下网友喜欢您的帖子:

  
侠客

经验值: 684
发帖数: 63
精华帖: 0
回复:smart200指针能不能操作位?


只看楼主 楼主 9楼 2021-05-05 08:11:15

没有。找了个提供思路的,说什么用L,      Ln.m 没明白


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67543
发帖数: 14782
精华帖: 100
回复:smart200指针能不能操作位?


只看楼主 10楼 2021-05-05 10:24:07

我说我已经把帖子顶上来第一页了,还说出名字来了,还是找不到吗?

你不需要明白,你只要用就可以了。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:smart200指针能不能操作位?


只看楼主 11楼 2021-05-05 10:35:50
 
以下网友喜欢您的帖子:

  
侠客

经验值: 684
发帖数: 63
精华帖: 0
回复:smart200指针能不能操作位?


只看楼主 楼主 12楼 2021-05-07 15:05:22

这个基本上懂了    大概就是:    (举例:起始字节QB0  ; 偏移地址LW1=16#0103,也就是Q1.3)

    第一步:指针化起始字节(这里是QB0--P0); 

                 举例中起始字节QB0

    第二步:指针化偏移地址(这里是LB1--P1_D)+指针化的起始字节(P0)=指针目标字节(P1);                                 举例中偏移地址是1+起始字节0(P0)=指针目标字节1(P1)也就是QB1

    第三步:将对应的QB字节(P1)传送到缓存字节中Out_B(QB1的缓存区)中; 

                  举例中Out_B (QB1的缓存区)=0000 0000    举例要移动的位为红色,第3位

    第四步:将要操作的位(也就是LB2=3)做为移位的位数移至最低位:  

                   举例中Out_B (QB1的缓存区)=0000 0000

    第五步: 将缓存区最低位置1:

                   举例中Out_B (QB1的缓存区)=0000 0001

    第六步: 将置1的最低位移按照LB2回至开始的位置;

                   举例中Out_B (QB1的缓存区)=0000 1000

    第7步:  将Out_B(QB1的缓存区) 映射到QB1(实际地址)

                   举例中Out_B (QB1的缓存区)=0000 1000  = QB1=0000 1000。

这样理解对吗?



 
以下网友喜欢您的帖子:

  
侠客

经验值: 684
发帖数: 63
精华帖: 0
回复:smart200指针能不能操作位?


只看楼主 楼主 13楼 2021-05-07 15:31:50

@WWCWWC       在我的提问里问我这个东西有什么用?    一个执行机构假设有10个属性,如果我不能定位这个执行机构的所有属性,那么对于我来说这个执行机构就是10个点,如果我能定位到他所有的属性,那么他对于我来说就只有1个点,就是这个设备本身。10个执行机构组成一个功能单元就有100个点,如果我能定位到这个功能单位的所有点且不怎么占资源,那么对于我来说这功能单位就是1个点。如此累加    复杂程序就会变得简单,哪怕只是工作量上的简单也行。


 
以下网友喜欢您的帖子:

  
版主

经验值: 25993
发帖数: 11808
精华帖: 43
回复:smart200指针能不能操作位?


只看楼主 14楼 2021-05-07 15:33:36

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

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

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

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

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

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

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

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


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

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

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


 
以下网友喜欢您的帖子:

  
侠客

经验值: 684
发帖数: 63
精华帖: 0
回复:smart200指针能不能操作位?


只看楼主 楼主 15楼 2021-05-07 15:38:48
以下是引用yanxiao在2021-05-07 15:33:36的发言 >14楼

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

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

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

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

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

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

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

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


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

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

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

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


 
以下网友喜欢您的帖子:

  
侠客

经验值: 684
发帖数: 63
精华帖: 0
回复:smart200指针能不能操作位?


只看楼主 楼主 16楼 2021-05-07 16:24:07

用解码指令吗


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
smart200指针能不能操作位?
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。