標(biāo)題:
IIC如何寫入一個字節(jié)
[打印本頁]
作者:
INSIST
時間:
2018-3-16 21:49
標(biāo)題:
IIC如何寫入一個字節(jié)
/*發(fā)送一個字節(jié)*/
void I2C_send_byte(uchar byte)
{
uchar i;
for(i = 0 ; i < 8 ; i++)//特別是這里看不懂
{
SCL = 0;
_nop_();
if (byte & 0x80)
{
SDA = 1;
_nop_();
}
else
{
SDA = 0;
_nop_();
}
SCL = 1;
_nop_();
byte <<= 1; // 0101 0100B
}
SCL = 0;
_nop_();
SDA = 1;
_nop_();
}
/*I2C 讀一字節(jié)*/
uchar I2C_read_byte()
{
uchar dat,i;
SCL = 0;
_nop_();
SDA = 1;
_nop_();
for(i = 0 ; i < 8 ; i++)//特別是這里看不懂
{
SCL = 1;
_nop_();
if (SDA)
{
dat |= 0x01; //
}
else
{
dat &= 0xfe; //1111 1110
}
_nop_();
SCL = 0 ;
_nop_();
if(i < 7)
{
dat = dat << 1;
}
}
return(dat);
}
作者:
yzwzfyz
時間:
2018-3-17 02:11
你需要的不是程序,而是認真、仔細的讀通IIC協(xié)議。!
提示命令、地址、數(shù)據(jù)……
作者:
zl2168
時間:
2018-3-17 18:06
先學(xué)理論,打基礎(chǔ),否則,問題多多,事倍功半。
作者:
QWER01234
時間:
2018-3-17 18:49
這段程序配合著iic的通信協(xié)議和時序圖,那么大概會看懂一點
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1