⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led.h

📁 MANTIS是由科罗拉多大学开发的传感器网络嵌入式操作系统。 这是mantis的0.9.5版本的源码。
💻 H
字号:
//  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 sys/include/led.h * @brief Control of the onboard leds for a sensor node. * @author Jeff Rose * @date 01/24/2003 */#ifndef LED_H_#define LED_H_#define NUM_LEDS        3#ifndef PLATFORM_LINUX#include "mos.h"/* Specify the port, data direction register and pin mask. */#ifdef ARCH_AVR#define LED_PORT PORTA#define LED_DIR DDRA#define LED_MASK 0x07#define LED_ON(led) LED_PORT &= ~(1<<led)#define LED_OFF(led) LED_PORT |= (1<<led)#define LED_DISP(val) LED_PORT = ~val#elif PLATFORM_TELOSB#define LED_PORT P5OUT#define LED_DIR P5DIR#define LED_MASK ((1 << 4) | (1 << 5) | (1 << 6))#define LED_ON(led)   LED_PORT &= ~(1 << (4+led))#define LED_OFF(led)  LED_PORT |= (1 << (4+led))#define LED_DISP(val) do{                \   LED_PORT |= LED_MASK;                 \   LED_PORT &= ~((val << 4) & LED_MASK); \  }while(0)   #else#error "Undfined LEDs for this platform"#endif#define LED_INIT_HARDWARE() LED_DIR |= LED_MASK;#else#include "gevent.h"#include "node_id.h"/* Provide the same interface in XMOS.   * Changing LEDs sends an event to the simulator. */#define LED_ON(led)	do {				   \      gevent_send(LED_EVENT, "ii", "%i LED_ON %x\n",	   \		  mos_node_id_get(), state|(1<<led));	   \   } while(0)#define LED_OFF(led)	do {				    \      gevent_send(LED_EVENT, "ii", "%i LED_OFF %x\n",	    \		  mos_node_id_get(), state&~(1<<led));	    \   } while(0)#define LED_DISP(val)	do {					\      gevent_send(LED_EVENT, "ii", "%i LED_DISP %x\n",		\		  mos_node_id_get(), val);			\   } while(0)#endif/** @brief Init the leds. */void led_init(void);/** @briefGet the number of leds. * @return Number of leds */uint8_t mos_led_get_num_leds(void);/** @brief Turn on a given led. * @param led Led to turn on */void mos_led_on(uint8_t led);/** @brief Turn off a given led. * @param led Led to turn off */void mos_led_off(uint8_t led);/** @brief Toggle a given led. * @param led Led to toggle */void mos_led_toggle(uint8_t led);/** @brief Blink the LED twice */void mos_led_blink(uint8_t led);/** @brief Display a given led. * @param display_value Display value */void mos_led_display(uint8_t display_value);#endif

⌨️ 快捷键说明

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