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

📄 led.c

📁 MANTIS是由科罗拉多大学开发的传感器网络嵌入式操作系统。 这是mantis的0.9.5版本的源码。
💻 C
字号:
//  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)/*  Project Mantis  File: leds.c  Author: Jeff Rose  Date: 1-24-03  Control of the onboard leds.*//** @file led.c * @brief Control of the onboard leds. * @author Jeff Rose * @date 01/24/2003 */#include <inttypes.h>#ifndef SCONS#include <config.h>#endif#include "led.h"#include "clock.h"#define STATE_ON(s,led)  s |= (1 << led)#define STATE_OFF(s,led) s &= ~( 1<< led)#define STATE_IS_ON(s, led) (s & (1 << led))#define SET_STATE(s, val) s = valuint8_t state;void led_init(void){   uint8_t i;#ifndef PLATFORM_LINUX   LED_INIT_HARDWARE ();   for(i = 0; i < NUM_LEDS; i++) {      LED_OFF (i);      STATE_OFF (state,i);   }#endif}uint8_t mos_led_get_num_leds(void){   return NUM_LEDS;}void mos_led_on(uint8_t led){   LED_ON (led);   STATE_ON (state,led);}void mos_led_off(uint8_t led){   LED_OFF (led);   STATE_OFF (state,led);}void mos_led_blink(uint8_t led){#ifndef PLATFORM_LINUX   LED_OFF(led);   mos_udelay(0xffff);   LED_ON(led);   mos_udelay(0xffff);   LED_OFF(led);   mos_udelay(0xffff);   LED_ON(led);   mos_udelay(0xffff);   LED_OFF(led);   STATE_OFF(state, led);#endif}void mos_led_toggle(uint8_t led){   if(STATE_IS_ON(state,led)) {      LED_OFF(led);      STATE_OFF(state,led);   } else {      LED_ON(led);      STATE_ON(state,led);   }}void mos_led_display(uint8_t display_value){  SET_STATE(state,display_value);  LED_DISP(display_value);}

⌨️ 快捷键说明

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