ETロボコンに参戦中のチーム「青大ロボコン研」のwikiです。

画面にセンサー値やモータ角度を表示する(初期処理、終了処理あり)


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.

0
Posted by check it out 2014年01月23日(木) 06:35:10 返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

管理人/副管理人のみ編集できます