工具与软件:
由于多个 GPIO 频繁更改(由组中断检测触发)、上海 Quectel 的 MSPM0L1306遇到程序失控问题。 请提供一些解决此问题的建议。 谢谢!
客户无法提供代码、仅以下要求:
条件:外部有两个周期性的电信号电平、周期为5ms、高低电平的比例通常为3:2或4:1。
要求:程序应基于两个外部电气信号电平(00、01、10、11)的组合执行不同的分支过程。 它还应控制其他 GPIO 的打开或关闭。
解决方案:使用 PA5和 PA11来监控两个外部信号的电平变化。 启用 GPIOA 中断、中断触发条件为上升沿或下降沿。 在中断服务例程中、读取引脚以确定哪个 PA5或 PA11触发了中断、并设置相应的标志。 在 main 函数中、检查是否设置了两个标志。
两难:通常、需要监控两个 GPIOA 中断来确定外部信号组合并进入正确的分支过程。 这个过程非常耗时、不能覆盖外部信号的5ms 周期。
对于优化程序过程有哪些建议、或者是否有任何其他解决方案可以识别和响应外部信号组合变化?