|SDA,把 SDA (可能是1,也可能是0),加入到空位中。循环八次,就把 SDA 读出了八遍,依次写到 K 的八个位中。
写完数据之后释放数据线是为了等待从机相应(即拉低SDA)而读的时候主机释放数据线的道理也很简单 毕竟此时是从机往数据线写数据 而主机要做的就是当从机写完一个字节后拉低数据线产生一个相应(当然可以不响应)
正如题目所讲:意思就是读一个字节。对于一个字节,以8位字节来说,0x00书写成二进制就是00000000。首先k作为一个变量,初始值假如是0x00,也就是二进制的00000000B,要读取SDA的值,SDA是一个端口,所以一次只能读取一个bit位,也就是二进制的一个位,k = k|SDA; //把SDA的值赋予k的最低位...
SDA 就相当于其中的双向IO传输数据的 而SCLK就是时钟啦