关于SBUF的问题

2019-07-16 02:50发布

第一次发贴,有点激动,来向师傅们请教个问题,我想取接收SBUF中的位,但因SBUF不是位寻址,不知道怎么取。

我的东西是这样的,两个移位寄存器74HC165连级,用串行通信方式0中的,取的SBUF, 这两个165中,总共16位,我是需要是他们中第一个,需要  0 1 4 5 6位,第二个0 2 6位,然后再组合成一个字节。先谢谢指点的人。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
hughqfb
1楼-- · 2019-07-16 06:29
我只说下数据处理吧,假设你从SBUF得到的是16位的数据,表示为Get_16_data可以这样处理:先分离成2位8位的数据,先低八位:Get_8_data_l=Get_16_data&0x00ff;再高八位:Get_8_data_h=Get_16_data&0xff00;
然后再用类似的与运算去取低八位中 0 1 4 5 6位 和高八位中的0 2 6位,或者用移位的方式也可以。再用类似的方法组成一个数。
w84876566
2楼-- · 2019-07-16 08:27
谢谢,理解了下,应该行,谢谢

一周热门 更多>