LPC1114,中使用外部中断后,用IIC读取AT24C256,出现的问题

2019-03-25 20:26发布

LPC1114,中使用外部中断后,用IIC读取AT24C256,出现的问题,不用中断时读取正常,但是一进入中断,读取就出错了~
中断设置为:下降沿中断,端口为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;   //清除标志位
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
zhaojun_xf
1楼-- · 2019-03-26 06:46
_NXP LPC1000_ 不正常是什么样意思,最好仿真一下,看问题出在哪里?
zhaojun_xf
2楼-- · 2019-03-26 09:22
最好不要在中断服务函数中进行大量的读写操作等,而是在中断中置标志,退出中断后通过判断标志进行数据读写等操作。。。。
super00peng
3楼-- · 2019-03-26 09:40
正在尝试,可能时间上一直有冲突,一直出错 呵呵

一周热门 更多>