微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 我是新手,请教各位前辈几个常见问题!

我是新手,请教各位前辈几个常见问题!

时间:10-02 整理:3721RD 点击:
uchar tmpread(void)   //read a byte date
{
  uchar i,j,dat;
  dat=0;
  for(i=1;i<=8;i++)
  {
    j=tmpreadbit();
    dat=(j<<7)|(dat>>1);
  }
  return(dat);
}

请问dat=(j<<7)|(dat>>1); 这个语句我知道意思,但是就是不知道其中的细节,该怎么去解释这个语句,希望各位前辈能给我讲的细致一些。


void tmpwritebyte(uchar dat)   //write a byte to ds18b20
{
  uint i;
  uchar j;
  bit testb;
  for(j=1;j<=8;j++)
  {
    testb=dat&0x01;
    dat=dat>>1;

其中的testb=dat&0x01;
    dat=dat>>1;同求细致解读。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top