回复:SIMOTION的ST程序中如何对一个字的某一位进行置位?

LeeWheel

  • 帖子

    346
  • 精华

    4
  • 被关注

    25

论坛等级:侠士

注册时间:2004-04-20

普通 普通 如何晋级?

发布于 2011-05-05 11:06:33

6楼

给你一个例子,可以不使用SETBIT来实现,直接对该BIT操作即可,而且可以很灵活,你可以把这段程序做成功能块使用。
首先建一个bool的数组数组大小是0..7,再建一个byte数组,大小是0..1,最后建一个word。
当然还得有个i变量
这里假设bool变量叫做my_bit,byte变量叫My_byte,word变量叫My_word:
quote:
for i := 0 to 1 by 1 do
my_byte[i] :=
_byte_from_8bool(
bit0 := my_bit[i*8],
bit1 := my_bit[i*8+1],
bit2 := my_bit[i*8+2],
bit3 := my_bit[i*8+3],
bit4 := my_bit[i*8+4],
bit5 := my_bit[i*8+5],
bit6 := my_bit[i*8+6],
bit7 := my_bit[i*8+6],
);
end_for
my_word :=
_word_from_2byte(
byte0 := my_byte[0],
byte1 := my_byte[1],
);


然后你在程序里面针对my_bit[0..7]操作,其结果直接作用于该WORD对应的bit.
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMOTION

共有2222条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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