This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6748中同一个BANK的GPIO中断的问题

在C6748里用同一个BANK的2个GPIO作为外部中断的输入接口,如果2个GPIO同时触发,那么先处理哪一个中断程序呢?谢谢!

  • 你好,

    同一个bank的GPIO, 不管是一个或者几个管脚触发中断, 只会产生一个Bank Interrupt中断信号给CPU, CPU是不知道哪个GPIO管脚产生的, 需要你在ISR中断服务子程序中去判断INTSTATn寄存器哪(几)个GPIO管脚触发的, 然后逐个处理, 还要把INTSTAT的相应位清0, 所以先处理哪个GPIO中断, 看你的程序怎么写了.

  • Shine Zhang

             你好,感谢你的回复,如果在执行一个GPIO中断时同一个BANK的另一个GPIO也触发了中断,那么后触发的中断会丢失吗?如果不丢失怎么去判断它,谢谢!

  • 有可能会丢失, 如果在中断子程序中, 在判断INTSTAT中该GPIO标志位之前发生的, 那正好会去处理, 如果触发发生在判断之后, 那会丢失

  • Shine Zhang

             你好,C6748的中断处理机制中,不同BANK的GPIO,设置不同的优先级,高优先级中断子程序在执行时,如果出现低优先级的触发,那么低优先级的中断处理会丢失吗?

  • 执行中断子程序时, GIE总中断是disable的, 所以如果不用中断嵌套的话, 中断会丢失.

x 出现错误。请重试或与管理员联系。