Board logo

标题: 奇怪的问题, IICD不能给其他变量赋值(HCSQG08) [打印本页]

作者: huangln    时间: 2007-12-6 17:04     标题: 奇怪的问题, IICD不能给其他变量赋值(HCSQG08)

在下面的函数里,IICD赋值给其他变量,但是在Data窗口中看到IICDtemp的值是0 ,而此时IICD中的值是0x4c,是否有什么地方需要设置?
void EI2C1_OnRxChar(void)
{
/* Write your code here ... */

IIC_receivecount++;
IICS_IICIF = 1; // clear the interrupt flag
IICDtemp=IICD; //此处赋值不起作用
IICD_REG[iic_receive_byte_counter]= IICD;
iic_receive_byte_counter++ ;
if(PTAD_PTAD1==1) //IIC_REQ = 1,all bytes transfer complete
receive_complete = 1;

} [SHADOW=255,blue,1]IICDtemp=IICD[/SHADOW]
作者: huangln    时间: 2007-12-6 17:07

相关的变量在此图中用方框框出
作者: strongchen    时间: 2007-12-6 17:11

IICD既是发送数据寄存器,也是接收数据寄存器。具体作什么,要看IICC_TX位的设置。设置不同,读出的数也不同。
作者: huangln    时间: 2007-12-6 17:14

刚才没有上传
作者: huangln    时间: 2007-12-6 17:16

此时IICC_TX是"0",我是利用这一位向接受和发送函数跳转的
if (IICC_TX==0) EI2C1_OnRxChar();
else EI2C1_OnTxChar();
作者: jianw007    时间: 2007-12-11 13:02

应该要看看相关的寄存器.





欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0