relay.c

来自「MANTIS是由科罗拉多大学开发的传感器网络嵌入式操作系统。 这是mantis」· C语言 代码 · 共 67 行

C
67
字号
//  This file is part of MANTIS OS, Operating System//  See http://mantis.cs.colorado.edu/////  Copyright (C) 2003,2004,2005 University of Colorado, Boulder////  This program is free software; you can redistribute it and/or//  modify it under the terms of the mos license (see file LICENSE)/**************************************************************************//* File:    test.c                                                        *//* Author     Jeff Rose & Brian Shucker: rosejn & shucker@cs.colorado.edu *//*   Date: 03/09/04                                                       *//*                                                                        *//* Radio relay for testing the mnet network stack                         *//**************************************************************************/#include "mos.h"#include "msched.h"  // MANTIS scheduler (gives us start)#include "com.h"#include "mos.h"#include "led.h"#include "uart.h"comBuf *packet;void relay(void){   IF_SET set;   com_mode(IFACE_RADIO, IF_LISTEN);   com_mode(IFACE_SERIAL, IF_LISTEN);   while(1) {      IF_ZERO(&set);      IF_SET(IFACE_RADIO, &set);      IF_SET(IFACE_SERIAL, &set);      mos_led_display(1);      com_select(&set, COM_BLOCK);      mos_led_display(2);      if(IF_ISSET(IFACE_RADIO, &set)) {	 packet = com_recv(IFACE_RADIO);	 	 if(packet != NULL) {	    com_send(IFACE_SERIAL, packet);	    com_free_buf(packet);	 }      } else if(IF_ISSET(IFACE_SERIAL, &set)) {	 packet = com_recv(IFACE_SERIAL);	 	 if(packet != NULL) {	    packet->data[0]++;	    com_send(IFACE_SERIAL, packet);	    com_free_buf(packet);	 }      }   }}void start(void){   mos_thread_new(relay, 128, PRIORITY_NORMAL);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?