永发信息网

编程高手进 val &=~mask; val |=(data&mask)

答案:2  悬赏:20  手机版
解决时间 2021-02-15 03:03
  • 提问者网友:自食苦果
  • 2021-02-14 11:05
我想问
val &=~mask;
val |=(data&mask)
进过这样的操作后,val和data,mask到底会形成怎么样的关系
181 static int stv0297_writereg_mask (struct stv0297_state* state, u8 reg, u8 mask, u8 data)
182 {
183 int val;
184
185 val = stv0297_readreg(state, reg);
186 val &= ~mask;
187 val |= (data & mask);
188 stv0297_writereg(state, reg, val);
189
190 return 0;
191 }
这个函数的目的是要干嘛?
最佳答案
  • 五星知识达人网友:慢性怪人
  • 2021-02-14 11:39
对寄存器特定的位进行写操作,而不修改其他的位!
比如,mask=0x0f的时候就会将data的后四位写入reg寄存器,而不改变其他位。
全部回答
  • 1楼网友:旧脸谱
  • 2021-02-14 12:58
支持一下感觉挺不错的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯