最終更新: aodairoboconken 2011年12月05日(月) 14:49:15履歴
Makefile
# Target specific macros NXTOSEK_ROOT = /nxtOSEK TARGET = Aodai01 TARGET_SOURCES = Aodai01.c TOPPERS_OSEK_OIL_SOURCE = ./Aodai01.oil # Don't modify below part O_PATH ?= build include $(NXTOSEK_ROOT)/ecrobot/ecrobot.mak
Aodai01.c
/****************************************************************************** * Aodai01.c 画面にセンサー値やモータ角度を表示する(初期処理、終了処理あり) *****************************************************************************/ #include "kernel.h" #include "kernel_id.h" #include "ecrobot_interface.h" /* 初期処理 */ void ecrobot_device_initialize(void){ ecrobot_init_sonar_sensor(NXT_PORT_S2); /* 超音波センサI2C通信用に初期化する */ ecrobot_set_light_sensor_active(NXT_PORT_S3); /* 光センサのLEDをON */ } /* 終了処理 */ void ecrobot_device_terminate(void){ ecrobot_term_sonar_sensor(NXT_PORT_S2); /* 超音波センサI2C通信用設定を解除する */ ecrobot_set_light_sensor_inactive(NXT_PORT_S3); /* 光センサのLEDをOFF */ } void user_1ms_isr_type2(void){} TASK(DisplayTask) { while(1) { ecrobot_status_monitor("Aodairoboconken"); systick_wait_ms(500); /* 500ミリ秒待機する */ } }
Aodai01.oil
#include "implementation.oil" CPU ATMEL_AT91SAM7S256 { OS LEJOS_OSEK { STATUS = EXTENDED; STARTUPHOOK = FALSE; ERRORHOOK = FALSE; SHUTDOWNHOOK = FALSE; PRETASKHOOK = FALSE; POSTTASKHOOK = FALSE; USEGETSERVICEID = FALSE; USEPARAMETERACCESS = FALSE; USERESSCHEDULER = FALSE; }; APPMODE appmode1{}; TASK DisplayTask { AUTOSTART = TRUE { APPMODE = appmode1; }; PRIORITY = 1; ACTIVATION = 1; SCHEDULE = FULL; STACKSIZE = 512; }; };
このページへのコメント
9G6taT This is such a great resource that you are providing and you give it away for free.