这是北京金木雨给的一段13.5M读写模块的通讯程序(89C52CPU),有二句看不懂 望各位指点一下(红字部分),谢谢
#include <reg52.h> // 包含52寄存器函数reg52.h #include <intrins.h> // 包含内部函数intrins.h sbit SDA = P1^0; // 定义SDA为P1.0口 sbit SCL = P1^1; // 定义SCL为P1.1口 // 对于11.0592MHz用这一行 #define NOPS _nop_(); // 定义NOPS=nop,等待1个时钟周期,在intrins.h中
/***************************************************************************** * 宣告发送一个字节函数: send a byte over IIC bus * 发送一个字节 *****************************************************************************/ void I2CSendByte(unsigned char cSendByte) // cSendByte为待发送字节 { unsigned char data i = 8; // 定义i为直接寻址内部RAM,并赋值i=8 while (i--) // 计数器 i减1,≠"0"时,做下面循环 { SCL = 0; // 时钟脚 ̄_ SDA = (bit)(cSendByte & 0x80);// 屏蔽出待发送字节的D7位 cSendByte += cSendByte; // NOPS SCL = 1; } SCL = 0; } |