51单片机软件I2C驱动中的CY


做一个MSP430的项目,虽然430内部有硬件I2C的模块,略难,准备直接移植51的。。碰到一句代码

        dat <<= 1;              //移出数据的最高位
        pSDA = CY;               //送数据口
        digitalWrite(pSCL, HIGH);                //拉高时钟线

CY是什么??

百度了一下。。

位 7: CY:进位标志。 
当最后一次算术操作产生进位(加法)或借位(减法)时,该位置 1。其它算
术操作将其清 0。
右移时最高位被移入CY。循环移八次,刚好把一字节移完。

意思就是左移的时候溢出后CY会成为1

一次一次发就把8位发完了。。

移植到430上直接dat&0x80取最高位就行就可以无视CY勒。。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM