我正在阅读PS / 2鼠标的值,这是完美的! - 我只想从鼠标中读取,当鼠标发送时钟信号(下降沿)时,我正在尝试使用中断。到目前为止,这是我的一些代码:
中断处理程序:
extern struct mouse mouseData;
CY_ISR(PS2_interrupt) {
ISR_getMouseData(&mouseData);
}
我正在向右移动鼠标,它正在输出正确的东西,但我不能在主循环中做任何事情。例如,如果我在主循环中的显示器上打印一些东西,没有任何事情发生,但只要鼠标正在发送,它仍然可以从鼠标中读取数据..
我发现你应该使用这个功能清除中断:
isr_PS2_clock_ClearPending()
这是之前的相同动作,但正如您所看到的,数据已损坏。但是,无论何时调用intterrupt,我都可以在主循环中执行。
在处理中断方面我做错了什么?
答案 0 :(得分:0)
尝试使用isr_PS2_clock_ClearInterrupt()
清除标记 p>