📄 led.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 + -