久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > avr單片機IIc總線編程

avr單片機IIc總線編程

作者: 時間:2016-11-13 來源:網絡 收藏
#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://cqxgywz.com/article/201611/316514.htm

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

IicWrite(uchar ad,uchar da):ad=寄存器地址,da=數據;
IicRead(uchar ad): ad=寄存器地址
=========================================*/
void IicWrite(uchar ad,uchar da)
{
IIC_Start();
IIC_Wait();
TWDR=0xA2;//從機地址
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;//從機地址
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;
}

單片機工作在IIC工作在主機方式下,對從機讀取數據及寫入數據.已經調試通過.希望大家能夠補充完善.



評論


技術專區

關閉