⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 twi.c

📁 小车源程序工程,由pcf8565单片机控制
💻 C
字号:
/*********************************************************************************************/ 
/********************以下是对ATmega16的自带I2C定义和使用**************************************/ 
/*********************************************************************************************/ 
#include "config.h"
#include "TWI.h"
               
/*
extern void Init_TWI(void) ;  															//TWI初始化
extern uchar TWI_Send(uchar Slave,uchar Address,uchar Data);                                 				//向IIC地址为Slave的从机的Address地址发送(写)一字节数据Data
extern uchar TWI_SendStr(uchar Slave,uchar Address,uchar *Array,uchar CNT) ;                                	//向IIC地址为Slave的从机的Address地址开始发送N字节数据Data 
extern uchar TWI_Receive(uchar Slave,uchar Address) ;                                                                          //从IIC地址为Slave的从机的Address地址读取一字节数据Data,返回值为读取的数据
*/
//************TWI初始化*************/




/**************************************************** 
***************************************************** 
向IIC地址为Slave的从机的Address地址发送(写)一字节数据Data 
返回0:写成功 
返回非0:写失败 
****************************************************** 
******************************************************/ 
uchar TWI_Send(uchar Slave,uchar Address,uchar Data) 
{ 
	
	TWCR=0x80|0x20|0x04;                                             //或:TWCR=(1<<TWINT)|(1<<TWSTA)|(1<<TWEN);对TWINT写1清除,使能TWI,发出Start信号 
	while((TWCR&0x80)!=0x80) ;                                       //或:while (!(TWCR & (1<<TWINT)));等待TWINT置位,表明Start信号已发出 
	if((TWSR&0xf8)!=0x08)                                            //或:if ((TWSR & 0xF8) != START),检测状态寄存器,屏蔽预分频位,如果状态字不是START转出错处理 
	return(1);                                                       //返回值1,表明从机没有对Start信号作应答 

                                                                 //Slave即SLA+W,即是从机地址 ,可以是0x18或0x20,此处只用0x18 
                                                                 //所谓的应答是“从器件”在收到地址和“写”后,将SDA电压拉低,由“主器件”读取 
                                                                 //

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -