器件型号:MSP432P401R
工具/软件:Code Composer Studio
在等待输入位更改以及等待中断例程中更改的变量更改时、我发生了这种情况。 如果我暂停该程序并立即运行、它可以正常工作。
等待位更改的部件是一个非常短的 while 循环、与另一个 while 循环相同、等待不同位在不同端口上更改。 我已经检查了端口方向寄存器、它是正确的。
等待变量更改的零件是等待测试变量更改的空循环。 它适用于第一次更改、但不适用于以后的更改。 再说一次、暂停并再次运行会使其正常运行。
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
工具/软件:Code Composer Studio
在等待输入位更改以及等待中断例程中更改的变量更改时、我发生了这种情况。 如果我暂停该程序并立即运行、它可以正常工作。
等待位更改的部件是一个非常短的 while 循环、与另一个 while 循环相同、等待不同位在不同端口上更改。 我已经检查了端口方向寄存器、它是正确的。
等待变量更改的零件是等待测试变量更改的空循环。 它适用于第一次更改、但不适用于以后的更改。 再说一次、暂停并再次运行会使其正常运行。
这会一直挂起、直到我暂停然后恢复:
uint32_t chargeCount = 0;
while (chargeCount = 0){
if ((P6->IN & BIT6)=BIT6){
chargeCount++;
}
}
工作正常:
uint32_t risingEdgeCount = 0;
//等待电流超过上限阈值
while (risingEdgeCount!= 1){
if ((P2->IN & BIT6)=BIT6){
RisingEdgeCount++;
}
}
第一段代码第二次通过函数工作。
e2e.ti.com/.../8561.gpio_5F00_input_5F00_interrupt.cHelloSteven
我修改了最新 MSP432P4 SDK 中的 GPIO_INPUT_INTERRUPT 示例(请参阅随附的主代码)。 您提到的代码可以正常运行、无需停止和恢复。 我使用 ARM 编译器在 CCS 中运行代码。