各位大神,求助啊,我没玩过I2C,这是我东拼西凑些的I2C从机代码,主要是完成和主机的通讯用的。但是先在问题出来了,代码运行时,主机向0xA0发送一个数据,
从机能进中断( I2C2_EV_IRQHandler)函数,在
switch (I2C_Event
)这一句时,I2C各个寄存器函数如下:
图片看不到.............算了,手打
I2C2_CR1 0x00000401
I2C2_CR2 0x00000624
I2C2_OAR1 0x000040A0
I2C2_OAR2 0
I2C2_DR 0
I2C2_SR1 0x00000110
I2C2_SR2 0
I2C2_CCR 0x0000801E
I2C2_TRISE 0x0000000B
[
本帖最后由 lifeissweet66 于 2012-9-13 14:47 编辑 ]
此帖出自
小平头技术问答
[ 本帖最后由 lifeissweet66 于 2012-9-13 15:01 编辑 ]
他有三个标志位:flag1,flag2,lastevent
flag1 = I2C->SR1
flag2 = I2C ->SR2
flag2 = flag2 << 16
lastevent = (flag1 | flag2 ) & 0x1F
return lastevent;
把最上面的寄存器值代入我计算了下lastevent = 0x20110
一周热门 更多>