1

微控制器/嵌入式系统中是否有任何与低级中断等效的通用编程?

我隐约熟悉事件(鼠标事件等)的概念,它看起来很相似但不够笼统。是否有一种机制(本机或其他),特别是在 C/C++ 中,来处理自定义事件,即触发由用户定义的条件决定的事件,例如当鼠标指针移动到特定区域时发生了特定的用户操作?

为了提供一些上下文,我正在开发一个基于 OpenCV 的交互式项目,我想在用户指向屏幕上的特定位置时触发特定操作。

在视频流的每次迭代中检查指针当前是否位于屏幕上的某某位置似乎是一种特别的计算浪费,我想根据预定义的条件自动调用函数。

或者有没有其他(更有效的)机制可以改进这个过程?

谢谢。

4

1 回答 1

1
  1. C/C++ 中没有 microP 或 microC 中的中断编程。
  2. 如果您的屏幕是触摸屏,那么您尝试获取操作系统的 SDK 或操作系统的 API,以便在触摸发生时得到通知。(操作系统内部维护了一个用于触摸或键盘按下或鼠标移动的中断表。我们可以编写我们想要在此类事件上执行的逻辑,仅此而已..)。
  3. 如果它没有触摸,那么您必须使用传感器监控用户的位置,通常是摄像头(网络摄像头)。为此,您必须检查相机的每一帧以确定用户的位置。 编辑 :
  4. 你提到的是正确的方法。最好检查每一帧,否则你的系统响应会很慢。您可以将计数器分配为 1,并随每一帧增加它,并在达到任何所需值时将其重置。这几乎等同于无限循环。
  5. 或者你可以接受键盘上的一些键来打破循环(OpenCV 有这样的功能)
  6. 一种更高级的方法是在与执行程序的主线程不同的线程中从相机中抓取帧。所以你需要做的就是启动和停止那个线程。
于 2013-01-13T16:28:18.530 回答