在线时间0 小时
UID2010670
注册时间2013-5-15
NXP金币0
该用户从未签到
注册会员

- 积分
- 90
- 最后登录
- 1970-1-1
|
发表于 2013-8-20 13:41:26
|
显示全部楼层
RE:mc9s08qe32的IIC busy问题(正解)
qe32是作主还作从?确保上电的时候,别的IIC芯片不要影响IIC总线。
下面是我以前用的IIC 初始化程序,在最后发了一个start 再发一个stop, 把总线复位。请参考。
void Init_IIC(void)
{
/* ### Init_IIC init code */
/* IICC2: GCAEN=0,ADEXT=0,AD10=0,AD9=0,AD8=0 */
IICC2 = 0x00U;
/* IICA: AD7=0,AD6=0,AD5=0,AD4=0,AD3=0,AD2=0,AD1=0 */
IICA = 0x00U;
/* IICF: MULT1=0,MULT0=1,ICR5=0,ICR4=0,ICR3=0,ICR2=0,ICR1=0,ICR0=0 */
IICF = 0x40U;
/* IICS: TCF=1,IAAS=0,BUSY=0,ARBL=1,SRW=0,IICIF=1,RXAK=0 */
IICS = 0x92U; /* Clear the interrupt flags */
/* IICC1: IICEN=1,IICIE=0,MST=0,TX=1,TXAK=0,RSTA=0 */
IICC1 = 0x80U;
/* Reset 24c02 */
i2c_start_condition();
i2c_stop_condition();
} |
|