|
请教各位大侠:
在IIC驱动中有这样两个函数:
void StartI2C(BYTE sla)
{
v_pIICPregs->IICDS = sla; // 设置从机地址
if(sla & 0x01)
{
v_pIICPregs->IICSTAT = (2 << 6) | (1 << 5) | (1 << 4); //主接收模式,发送使能,启动总线
IICCON_DACK(v_pIICPregs->IICCON); // 若重启总线,则需要有此操作
}
else
{
v_pIICPregs->IICSTAT = (3 << 6) | (1 << 5) | (1 << 4); // 主发送模式,发送使能,启动总线
}
}
------------------------------------------
void IIC_SendByte(BYTE data)
{
// 将数据写入IIC数据寄存器
v_pIICPregs->IICDS = data;
// 清除中断标志,允许发送数据操作
IICCON_DACK(v_pIICPregs->IICCON);
}
在这两个函数中都用到了寄存器IICDS,请问:
1、这个寄存器作用是什么?
2、为什么从机地址和发送的数据都写到这个地址里面?/
谢谢大家
|
|