做一个MSP430的项目,虽然430内部有硬件I2C的模块,略难,准备直接移植51的。。碰到一句代码
dat <<= 1; //移出数据的最高位
pSDA = CY; //送数据口
digitalWrite(pSCL, HIGH); //拉高时钟线
CY是什么??
百度了一下。。
位 7: CY:进位标志。
当最后一次算术操作产生进位(加法)或借位(减法)时,该位置 1。其它算
术操作将其清 0。
右移时最高位被移入CY。循环移八次,刚好把一字节移完。
意思就是左移的时候溢出后CY会成为1
一次一次发就把8位发完了。。
移植到430上直接dat&0x80取最高位就行就可以无视CY勒。。