HY, 我已经阅读了几篇关于如何设法在我的zolertia z1的UART0(rx)端口上接收数据的帖子,但我无法使其工作。我的代码:
#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。 我评论了contiki-z1-main文件中的那些行:
//#if !NETSTACK_CONF_WITH_IPV4 && !NETSTACK_CONF_WITH_IPV6
uart0_set_input(serial_line_input_byte);
serial_line_init();
//#endif
有谁知道我的错误在哪里?谢谢!
答案 0 :(得分:0)
问题解决了(编程时我在main中做了一些更改)。为了使这段代码有效,我只需用原始版本替换主文件。