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

📄 ws_i2c_src.h

📁 STM8全部资料
💻 H
字号:
/********************************************************************************************************
*
* File                : ws_i2c_src.h
* Hardware Environment: 
* Build Environment   : ST Visual Develop 4.1.6
* Version             : V1.0
* By                  : Xiao xian hui
*
*                                  (c) Copyright 2005-2010, WaveShare
*                                       http://www.waveShare.net
*                                          All Rights Reserved
*
*********************************************************************************************************/

#ifndef _WS_I2C_SRC_H
#define _WS_I2C_SRC_H

void I2C_Init(void)
{
		I2C_FREQR=0x0f;    //设置频率寄存器
		I2C_CCRH=0x00;     //设置始终寄存器高位
		I2C_CCRL=0x50;     //设置始终寄存器低位
		I2C_TRISER=0x11;   //设置最大SCL上升时间
		I2C_CR1|=0x01;     //使能I2C模块
		I2C_Ack();         //设置匹配应答
		I2C_CR2|=0x08;     //设置接收应答
}


void I2C_Start(void)
{
	I2C_busy();
	I2C_start();
	while(I2C_SBask==0);
}
/*-------------传送地址---------------*/
void I2C_SendDAdr(u8 Add)
{
	I2C_writebyte(Add);	
	while(I2C_addrask==0);
	I2C_busy();
}

/*----------------发送数据&接收数据------------------*/
void I2C_SendDat(u8 data)
{
	I2C_writebyte(data);
	I2C_busy();
	while(I2C_TxEask==0);
}

u8 I2C_RcvDat(void)
{
	u8 i;
	while(I2C_RxNeask==0);
	abc:
	if(I2C_BTF==0x04)
	{i=I2C_DR;}
	else goto abc;
	if(I2C_BTF==0){}
	else goto abc;
	return i;
}
/*
u8 I2C_ReadAbit(u8 addr)
{
	u8 i;
	I2C_Start();
	I2C_SendDAdr(0x41);
	i=I2C_RcvDat();
	I2C_stop();
	return i;
}

void I2C_WriteAbit(u8 addr,u8 data)
{
	I2C_Start();
	I2C_SendDAdr(addr);
	I2C_SendDat(data);
	I2C_stop();
}*/

#endif /*_WS_I2C_SRC_H*/

⌨️ 快捷键说明

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