super0peng 发表于 2012-11-1 14:36:20

LPC1114使用按键中断读取AT24C256的值出现的问题

中断设置为:下降沿中断,端口为PIO3_0
其中使用了ZLG7290的键盘。
void PIOINT3_IRQHandler(void)
{
        I2C_ReadNByte(ZLG7290, ONE_BYTE_SUBA, 0x00, Data_Buf, 2);
        if (Data_Buf == 0xfb){    //        这里加一个条件判断,来确定有正确的按键
                uartSendStr (Data_Buf, 2);
                uartSendByte(1);
                switch (Data_Buf){    //判断7290的键值
                case 2:       //键值为2时
                        I2C_ReadNByte(CAT1025, TWO_BYTE_SUBA, 0x1400, Data_Buf2, 32);
                        uartSendStr(Data_Buf2,32);
                        break;
                default:
                        break;
                }

        }
        LPC_GPIO3->IC |= KEY;   //清除标志位
}
当判断按键成功时,读取AT24C256指定位置的值,但是每次读取的值都不同,这是怎么回事,IIC的程序也是使用的中断实现的?是我中断的优先级问题吗?

jisaowang 发表于 2012-11-2 14:53:57

在外部中端里用i2c慢速设备,还读两次,很好很强大!这种划时代的编程方法请问大侠是从哪个洞府得来的秘传?

super0peng 发表于 2012-11-5 08:05:32

jisaowang 发表于 2012-11-2 14:53 static/image/common/back.gif
在外部中端里用i2c慢速设备,还读两次,很好很强大!这种划时代的编程方法请问大侠是从哪个洞府得来的秘传 ...

{:2_34:} 我也很无奈~~公司原来用8位机 现在要升级 改为32位,我是从原来程序里移植过来的~~
大侠 给我解释下吧~~我现在越弄越糊涂了~求解啊~~~
页: [1]
查看完整版本: LPC1114使用按键中断读取AT24C256的值出现的问题