📄 device.c
字号:
/* * TOPPERS/JSP Rose-RT Link Programs * Toyohashi Open Platform for Embedded Real-Time Systems/ * Just Standard Profile Kernel * * Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory * Toyohashi Univ. of Technology, JAPAN * Copyright (C) 2003-2004 by CHUO ELECTRIC WORKS Co.,LTD. JAPAN * * 惧淡螟侯涪荚は·Free Software Foundation によって给山されている * GNU General Public License の Version 2 に淡揭されている掘凤か·笆 * 布の(1)×(4)の掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェ * アを猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· * 网脱と钙ぶ∷することを痰浸で钓满するˉ * (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 * 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 * スコ〖ド面に崔まれていることˉ * (2) 塑ソフトウェアを浩网脱材墙なバイナリコ〖ド∈リロケ〖タブルオブ * ジェクトファイルやライブラリなど∷の妨で网脱する眷圭には·网脱 * に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯涪山绩· * この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ * (3) 塑ソフトウェアを浩网脱稍材墙なバイナリコ〖ドの妨または怠达に寥 * み哈んだ妨で网脱する眷圭には·肌のいずれかの掘凤を塔たすことˉ * (a) 网脱に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯 * 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ * (b) 网脱の妨轮を·侍に年める数恕によって·惧淡螟侯涪荚に鼠桂する * ことˉ * (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 * 巢からも·惧淡螟侯涪荚を倘勒することˉ * * 塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚は· * 塑ソフトウェアに簇して·その努脱材墙拉も崔めて·いかなる瘦沮も乖わ * ないˉまた·塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じたい * かなる禄巢に簇しても·その勒扦を砷わないˉ * *//* * (臭)面丙澜侯疥澜μITRON烹很SH1CPUボ〖ド脱 * LED,SW 扩告簇眶 */#include <s_services.h>#include <sh1_sil.h>#include "zunda_sh1.h"#include "device.h"/* * LEDの介袋步 */voidinitial_led(void){ set_led( LED1, OFF ); set_led( LED2, OFF ); set_led( LED3, OFF );}/* * LEDの肋年を乖う * arg1: LED1 - 3 * arg2: ON|OFF */voidset_led( int led, int req ){ if ( req != ON && req != OFF ) { return; } switch ( led ) { case LED1: if( req == OFF ) { sh1_orh_reg( PA_DR, LED_CTL1 ); } else { sh1_anh_reg( PA_DR, ~LED_CTL1 ); } break; case LED2: if( req == OFF ) { sh1_orh_reg( PB_DR, LED_CTL2 ); } else { sh1_anh_reg( PB_DR, ~LED_CTL2 ); } break; case LED3: if( req == OFF ) { sh1_orh_reg( PB_DR, LED_CTL3 ); } else { sh1_anh_reg( PB_DR, ~LED_CTL3 ); } break; default: break; }}/* * LEDの觉轮艰评 * arg1: LED1 - 3 */intget_led( int led ){ switch ( led ) { case LED1: if ( (sil_reh_mem( PA_DR ) & LED_CTL1) == 0 ) { return ON; } break; case LED2: if ( (sil_reh_mem( PB_DR ) & LED_CTL2) == 0 ) { return ON; } break; case LED3: if ( (sil_reh_mem( PB_DR ) & LED_CTL3) == 0 ) { return ON; } break; default: break; } return OFF;}/* * ディップスイッチの觉轮艰评 * return:ON OFF * arg1:DSW11 × DSW14 */intget_dsw( int sw ){ UH key = 0; int result = OFF; key = sil_reh_mem( SW_DR ); switch ( sw ) { case DSW11: if ((key & DSW11) == 0 ) { result = ON; } break; case DSW12: if ((key & DSW12) == 0 ) { result = ON; } break; case DSW13: if ((key & DSW13) == 0 ) { result = ON; } break; case DSW14: if ((key & DSW14) == 0 ) { result = ON; } break; default: break; } return result;}/* * ロ〖タリ〖スイッチの猛艰评 * return:スイッチの猛 */intget_rsw(void){ return (sil_reh_mem( SW_DR ) & RSW_CTL);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -