打印
[Cortex-M0技术交流]

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

[复制链接]
1703|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
super0peng|  楼主 | 2012-11-5 08:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 super0peng 于 2012-11-5 08:24 编辑

中断设置为:下降沿中断,端口为PIO3_0
其中使用了ZLG7290的键盘。
void PIOINT3_IRQHandler(void)
{
        I2C_ReadNByte(ZLG7290, ONE_BYTE_SUBA, 0x00, Data_Buf, 2);
        if (Data_Buf[0] == 0xfb){    //        这里加一个条件判断,来确定有正确的按键
                uartSendStr (Data_Buf, 2);
                uartSendByte(1);
                switch (Data_Buf[1]){    //判断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的程序也是使用的中断实现的?是我中断的优先级问题吗?

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

3

帖子

0

粉丝