- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我不明白 Contiki OS 的 core/dev/serial-line.c 文件中使用的函数“process_poll(&serial_line_process);”的含义。我读过 wiki pages它在进程控制 block 中设置 needpoll 变量,使内核能够在发生中断时轮询该进程。如果有人可以阐明调用此过程的方式和时间,我将非常感激。
我在尝试使用 contiki 特定机制读取串行输入时遇到了这个问题,如 wiki 页面上所述。从串行端口读取字符,我验证了程序控制达到了 process_poll( &serial_line_process) ;函数 int serial_line_input_byte(unsigned char c) 中的语句;在文件 serial-line.c 中。这已被设置为平台串行输入驱动程序的回调。但在那之后什么也没有发生。似乎进程serial_input_process最初执行的是PROCESS_YIELD();声明,此后一直没有被调用。以下是我用于测试的过程的代码。
#include "contiki.h"
#include "dev/serial-line.h"
#include <stdio.h>
PROCESS(test_serial, "Serial line test process");
AUTOSTART_PROCESSES(&test_serial);
PROCESS_THREAD(test_serial, ev, data)
{
PROCESS_BEGIN();
for(;;) {
PROCESS_YIELD();
if(ev == serial_line_event_message) {
printf("received line: %s\n", (char *)data);
}
}
PROCESS_END();
}
最佳答案
process_poll()
将调用您的轮询处理程序,例如
PROCESS_POLLHANDLER(pollhandler());
进程将被发送 PROCESS_EVENT_POLL 事件,所以如果您愿意,可以像这样等待:
PROCESS_WAIT_EVENT_UNTIL(ev == PROCESS_EVENT_POLL);
关于c - 如果进程的 needpoll 变量已经使用 process_poll(&process) 设置,Contiki 内核何时轮询进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20618783/
Contiki 调度程序是抢占式的吗? Tinyos 不是;有 nanork,我不确定它的发展处于什么状态。 最佳答案 Contiki 支持抢占式线程。引用: https://github.com/c
我想使用 Contiki OS 中的广播函数来广播整数数组。然而,当给出整数数组作为输入时, packetbuf_copyfrom() 函数似乎对我不起作用。当通过 Cooja 的“ radio 消息
我正在使用 Contiki 操作系统编写程序。 我有 remote_firmware.c 文件和一个名为 parser 的文件夹,其中包含文件 parser.h 和 parser.c 我在其中编写了方
我正在尝试在 Contiki 中为 Zolertia REmote 编写一个程序,它将从传感器读取一个值,并且根据这个值以及 Remote 上的用户按钮是否被长时间按下,LED 将被打开打开、变暗或将
我试图理解 examples/cc26xx/cc26xx-ble-client-demo 中存在的 IPv6-over-BLE UDP-client 演示示例,该代码具有以下头文件: #include
嗨,我尝试将 cooja simluator 中的 mqtt mote 连接到桌面上的 mosquitto 服务器。但它一直无法连接,我能够 ping rpl 路由器,但不能 ping 我的 mqtt
我有以下问题,我的模拟结果卡在 while 循环中。在我看来,原因是我们无法在循环结束之前在mote 1.0上执行recv_uc。然而,是 mote 1.0 本身调用 unicast_send(&
我想将模拟的时间戳值作为 int 发送。更清楚地说,如果节点输出是: 00:39.841 ID:6 unicast message ready to be sent 我希望能够在消息中输入值
因为 Contiki 提供的内置列表不符合我的需求(使用太多内存),我实现了自己的列表版本,该版本已针对我打算如何使用它进行了优化。 在任何时候,这些列表中都会有一个由多个进程/原线程对其进行操作(即
在我的一个 Contiki 应用程序中,我从进程 (P) 调用某个函数 (f)。当驻留在 (f) 中的循环中至少有一个 'printf' 时,(P) 中的 'printf' 会正确显示结果。然而,当同
在我的代码中,我需要声明两个进程。在第一个过程中,我想这样调用第二个: PROCESS_THREAD(Initialization_process, ev, data) { PROCESS_
我正在开发一个需要 msp430 数学函数的应用程序。使用 powf、sqrt 等函数时,会发生内存溢出 (ROM)。一个这样的例子是,当我使用这个 float i 变量而不使用静态时,我的代码可以工
是否有可能在 contiki os 中列出所有正在运行的进程并在调试输出(即 UART)上输出结果? 最佳答案 在 contiki platform.c 和 main() 中插入: struct pr
我正在使用无线传感器网络负责人评估其在我的工作中的性能。我想测量延迟和总能耗以找到每个节点中的剩余能量。所以我的问题是我有一些 tx rx cpu cpu_idle 的值,我不知道如何使用它们来计算我
我正在 Contiki 作为我的学术工作,现在我有一个问题,我应该从 Contiki 中的示例文件夹中具体引用哪个文件来模拟场景,例如 - 具有 ipv6 节点的 30 个节点物联网,所有这些节点都将
我刚刚开始研究Contiki-OS。我对 Contiki - Antelope 感兴趣。我尝试使用 AQL(Antelope 查询语言)在串行 Cooja 模拟中创建关系、属性和插入元组。像这样: c
在不更改任何其他文件的情况下,我尝试运行 ccm-star-tests在 cooja 模拟器中的 z1 微粒上。 对于encryption节点输出为: Testing verification ...
我想将全局地址转换为链接级地址(或者即使可以进行相反的操作),我在 uip6.c 文件中有以下函数。我想将 rep (其中 rep 为我提供带有 fe80 之类的前缀的 lladdress)转换为 s
如何在recv_uc 函数中打印接收到的数据?在这种情况下是 var 的值。我使用 packetbuf_copyfrom(&var, 5) 将 var 放入发送的数据包中。 PROCESS(sendi
我想为 Contiki OS 添加一个第三方库。确切地说,我正在尝试添加 nettle 3.0 密码学库。 我是否应该使用 contiki 平台的特殊标志来构建相关库,不确定具体是什么?海合会 msp
我是一名优秀的程序员,十分优秀!