int Read_iic(int reg)
{
int temp,data;
flag =1 ;
rIICDS = 0x1b;
rIICCON &= ~0x10; // 清中断标志
rIICSTAT = 0xb0; // 主设备接收模式用来接收数据,启动
while(flag == 1) // 从地址完成之后会收到ACK信号,在中断处理函数中将该标志置为0
Delay(1);
flag =1 ;
rIICDS = reg;
rIICCON &= ~0x10; // 清中断标志
rIICSTAT = 0xb0; // 主设备接收模式用来接收数据,启动
while(flag == 1) // 从地址完成之后会收到ACK信号,在中断处理函数中将该标志置为0
Delay(1);
flag =1 ; // readly to translate addr
temp = rIICDS; // 抛弃第一自己
rIICCON &= ~0x10; // 清中断标志
while(flag)
Delay(1);
flag =1 ; // readly to translate addr
data = rIICDS;
rIICCON &= ~0x10; // 清中断标志
while(flag)
Delay(1);
rIICCON = 0x2f; // Resumes IIC operation with NOACK.
Delay(1);
rIICSTAT = 0x90; // Stop MasTx condition
rIICCON = 0xaf; // Resumes IIC operation.
Delay(1);
return data;
}
用2440里面的函数问题,为什么调试的时候,结果是type disagreement for “Read——iic” |