0
Hy, 我讀過幾篇關於如何在我的zolertia z1的UART0(rx)端口上接收數據的文章,但是我無法做到這行得通。我的代碼:serial_line_event_message不起作用(contiki,zolertia z1)
#include "contiki.h"
#include <stdio.h>/* For printf()*/
#include "dev/leds.h"
#include "dev/serial-line.h"
#define PERIOD (CLOCK_SECOND*10)
//-----------------------------------------------------------------
PROCESS(simple_uart, "read and write");
AUTOSTART_PROCESSES(&simple_uart);
static struct etimer et; // Define the timer
//-----------------------------------------------------------------
PROCESS_THREAD(simple_uart, ev, data)
{
PROCESS_BEGIN();
static struct etimer et;
uart0_init(BAUD2UBR(57600));
etimer_set(&et,PERIOD);
{
while(1)
{
PROCESS_WAIT_EVENT();
if(ev ==serial_line_event_message)
{
leds_toggle(LEDS_RED);
}
if(etimer_expired(&et))
{
printf("sys get ver\r\n");
leds_toggle(LEDS_GREEN);
etimer_reset(&et);
}
}
}
PROCESS_END();
}
寫入部分正在工作,但是讀取部分不是。serial_line_event_message從不被調用。 我評論的半自助旅遊旅行社-Z1-主文件這些行:
//#if !NETSTACK_CONF_WITH_IPV4 && !NETSTACK_CONF_WITH_IPV6
uart0_set_input(serial_line_input_byte);
serial_line_init();
//#endif
有誰知道哪裏是我的錯誤?謝謝!
嗨。我是'contiki'的初學者。如何學習'contiki'的圖書館和編程? – sarina
嗨,在我看來,最好的方法是首先了解一下Contiki如何工作(https://github.com/contiki-os/contiki/wiki/Processes,..)。然後開始查看示例目錄(hello-world,...)中的一些示例,並嘗試編寫您自己的應用程序。當你得到這個,你可以更深入地瞭解可用的驅動程序,圖書館。將解釋如https://github.com/contiki-os/contiki/wiki/Input-and-output與應用解釋結構的驅動程序進行比較是很好的。當你得到這個,你已經準備好開始寫更復雜的代碼(驅動程序,庫,..)。 –
這對我有用:)我希望它會有所幫助。 –