器件型号:MSP432P401R
你好
MSP432P401R LaunchPad开发套件(MSP‑EXP432P401R)有2个开关;S1和 S2连接到同一端口但不同的引脚;S1连接到 P1.1、S2连接到 P1.4
我的问题是、如何在端口1上使用2个不同的 ISR 设置2个中断、例如、当按下 S1时、ISR1被执行、当按下 S2时、ISR2被执行?
提前感谢
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.
器件型号:MSP432P401R
你好
MSP432P401R LaunchPad开发套件(MSP‑EXP432P401R)有2个开关;S1和 S2连接到同一端口但不同的引脚;S1连接到 P1.1、S2连接到 P1.4
我的问题是、如何在端口1上使用2个不同的 ISR 设置2个中断、例如、当按下 S1时、ISR1被执行、当按下 S2时、ISR2被执行?
提前感谢
你不能。 它们都连接到同一个矢量(PORT1_IRQHandler)、该矢量将为其中一个(或两者)调用。
您可以通过检查 P1->IFG (和/或 P1->IN、具体取决于您的应用)在 ISR 中进行区分。 类似如下:
void Port1_IRQHandler (void) { 如果(P1->IFG & BIT1){// S1 (P1.1)被触发? // S1材料 P1->IFG &=~BIT1; } 如果(P1->IFG & BIT4){// S2 (P1.4)被触发? // S2数据 P1->IFG &=~BIT4; } 返回; }
非常感谢
这实际上起作用了!
我有一个小问题、现在我正在从 TI 网站上的 prof Valvano 讲座中学到、当然、我也在查看 MSP432数据表、Launchpad 用户指南、我在这里真正缺少的是编程指南
为了更清楚、这是我第一次知道我可以使用 P1->IFG 指向端口1清除标志寄存器上的某些引脚(我用于 driverlib、例如 GPIO_clearInterruptFlag (GPIO_PORT_P1、GPIO_PIN4);)
那么、MSP432有哪些可用的编程指南?
提前感谢