如何通过中断Contiki替换过程



我尝试在笔记本电脑和使用contiki用作操作系统的模块之间进行通信,问题是如何通过contiki中的交换来替换过程?

我发现这很难做到。如果您能帮助我,我会很感激。

您可以从中断上下文中进行对该过程进行轮询,也可以从其他过程上下文中为过程提出事件。有关与过程相关的API的更多信息,请参见Process.h文件。

contiki经常使用下半部分模式来处理中断/过程数据交换。

中断服务例程将缓冲接收到的数据,然后唤醒/拉动进程来处理它。

即:

/* This is a ISR */
void uart0_rx_isr(void) __interrupt(URX0_VECTOR)
{
  /* read the UART peripheral */
  char c = ...;
  /* handle it to a process */
  process_post(&example_process,
                PROCESS_EVENT_NEW_BYTE, c);
}

更多信息在这里:https://github.com/contiki-os/contiki/wiki/processes

最新更新