新聞中心

avr單片機(jī)IIc總線編程

作者: 時(shí)間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
#define IIC_Start() TWCR =(1<#define IIC_Stop()TWCR =(1<#define IIC_Wait() while(!(TWCR&(1<#define IIC_NoneAck() TWCR =(1<#define IIC_Ack()TWCR =(1<本文引用地址:http://2s4d.com/article/201611/316514.htm

/*=========================================

IicWrite(uchar ad,uchar da):ad=寄存器地址,da=數(shù)據(jù);
IicRead(uchar ad): ad=寄存器地址
=========================================*/
void IicWrite(uchar ad,uchar da)
{
IIC_Start();
IIC_Wait();
TWDR=0xA2;//從機(jī)地址
IIC_Ack();
IIC_Wait();
TWDR=ad;
IIC_Ack();
IIC_Wait();
TWDR=da;
IIC_Ack();
IIC_Wait();
IIC_Stop();
}
uchar IicRead(uchar ad)
{
unsigned char data;
IIC_Start();
IIC_Wait();
TWDR = 0xA2;//從機(jī)地址
IIC_Ack();
IIC_Wait();
TWDR = ad;
IIC_Ack();
IIC_Wait();

IIC_Start();
IIC_Wait();
TWDR = 0xA3;
IIC_Ack();
IIC_Wait();
IIC_NoneAck();
IIC_Wait();
data=TWDR;
IIC_Stop();
return data;
}

單片機(jī)工作在IIC工作在主機(jī)方式下,對(duì)從機(jī)讀取數(shù)據(jù)及寫入數(shù)據(jù).已經(jīng)調(diào)試通過.希望大家能夠補(bǔ)充完善.



關(guān)鍵詞: avr單片機(jī)IIc總線編

評(píng)論


技術(shù)專區(qū)

關(guān)閉