📄 iic_driver.c
字号:
#include "..\..\Startup2410\inc\2410addr.h"
//#include "..\..\Startup2410\inc\2410lib.h"
//#include "..\..\Startup2410\inc\option.h"
//#include "..\inc\Uart_driver.h"
//#include "..\..\Startup2410\inc\def.h"
/*
*************************************************************************************************************
- 函数名称 : void Master_transmitter(int addr,int data)
- 函数说明 : 主IIC设备传送数据
- 输入参数 : 无
- 输出参数 : 无
*************************************************************************************************************
*/
void Master_transmitter(int addr,int data)
{
int r=1;
//rIICCON=0xe0;
rIICSTAT=0xc0; //配置主传送模式
rIICDS=addr; //写地址
rIICSTAT=0xF0; //开始信号
while(!(rIICSTAT&0x01))
{;
}
while(r!=0)
{
rIICDS=data;
rIICCON&=0xf7; //清中断挂起位
r--;
while(!(rIICSTAT&0x01))
{;
}
}
rIICSTAT=0xd0; //结束信号
rIICCON&=0xf7; //清中断挂起位
}
/*
*************************************************************************************************************
- 函数名称 : void Master_receiverint addr()
- 函数说明 : 主IIC设备接收数据
- 输入参数 : 无
- 输出参数 : 无
*************************************************************************************************************
*/
int Master_receiver(int addr)
{
int data;
int r=1;
//rIICCON=0xe0;
rIICSTAT=0x80; //配置主接收模式
rIICDS=addr; //写地址
rIICSTAT=0xB0; //开始信号
while(!(rIICSTAT&0x01))
{;
}
while(r!=0)
{
data=rIICDS;
rIICCON&=0xf7; //清中断挂起位
r--;
}
rIICSTAT=0x90; //结束信号
rIICCON&=0xf7; //清中断挂起位
return data;
}
/*
*************************************************************************************************************
- 函数名称 : void Slave_transmitter(int data)
- 函数说明 : 主IIC设备传送数据
- 输入参数 : 无
- 输出参数 : 无
*************************************************************************************************************
*/
void Slave_transmitter(int data)
{
int r=1;
//rIICCON=0xe0;
rIICSTAT=0x40; //配置从发送模式
while(!(rIICSTAT&&0x04))
{
;
}
while(r!=0)
{
rIICDS=data;
rIICCON&=0xf7; //清中断挂起位
}
}
/*
*************************************************************************************************************
- 函数名称 : int Slave_receiver()
- 函数说明 : 主IIC设备传送数据
- 输入参数 : 无
- 输出参数 : 无
*************************************************************************************************************
*/
int Slave_receiver()
{
int data;
int r=1;
//rIICCON=0xe0;
rIICSTAT=0x0; //配置从接收模式
while(!(rIICSTAT&&0x04))
{
;
}
while(r!=0)
{
data=rIICDS;
rIICCON&=0xf7; //清中断挂起位
}
return data;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -