#include "test.h"
#include <cdefBF533.h>
-/*
- * 並行実行されるタスクへのメッセージ領域
- */
-char message[3];
-
-/*
- * ループ回数
- */
-UW task_loop; /* タスク内でのループ回数 */
-UW tex_loop; /* 例外処理ルーチン内でのループ回数 */
-
-/*
- * 並行実行されるタスク
- */
-void task(VP_INT exinf)
-{
- INT n = 0;
- INT tskno = (INT) exinf;
-
- syslog(LOG_NOTICE, "task%d is running (%03d). %s",
- tskno, ++n);
-
-}
-
-/*
- * 並行して実行されるタスク用のタスク例外処理ルーチン
- */
-void tex_routine(TEXPTN texptn, VP_INT exinf)
-{
- INT tskno = (INT) exinf;
-
- syslog(LOG_NOTICE, "task%d receives exception 0x%04x. ",
- tskno, texptn);
-
- }
-
-/*
- * CPU例外ハンドラ
- */
-#ifdef CPUEXC1
-
-void
-cpuexc_handler(VP p_excinf)
-{
-
- syslog(LOG_NOTICE, "CPU exception handler (p_excinf = %08p).",
- p_excinf);
-}
+#define PEEPINGTEST // Define PEEPING test to see the top 4 of FIFO after enabling SPORT RX
-#endif /* CPUEXC1 */
-
-/*
- * 周期ハンドラ
- *
- * HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優先度のレディキュー
- * を回転させる.
- */
-void cyclic_handler(VP_INT exinf)
-{
-
-}
+#ifdef PEEPINGTEST
+#define SLEEPDURATION 2000
+#else
+#define SLEEPDURATION 10
+#endif
/*
* メインタスク
29 << 0 ; // SLEN 0-1:not allowed,2-31:Serial word length - 1
ssync();
- /*
- syslog( LOG_NOTICE, "SPORT0_Disable " );
- syslog( LOG_NOTICE, "SPORT0_RCR1 : %08x", *pSPORT0_RCR1 );
- syslog( LOG_NOTICE, "SPORT0_RCR2 : %08x", *pSPORT0_RCR2 );
-
- syslog( LOG_NOTICE, "SPORT0_STAT : %08x", *pSPORT0_STAT );
-*/
int count = 0, event = 0;
// RX FIFOが空になるまで読み捨てる
while( *pSPORT0_STAT & RXNE)
dummy = *pSPORT0_RX32;
-/*
- *pSPORT0_RCR1 &= ~RSPEN; // RX SPORT disable
- syslog( LOG_NOTICE, "FIFO Cleared. FIFO must be empty");
- syslog( LOG_NOTICE, "SPORT0_STAT : %08x", *pSPORT0_STAT );
-*/
/*
* メインループ
*/
// RX受信を開始する
*pSPORT0_RCR1 |= RSPEN; // RX SPORT Enable
ssync();
- /*
- syslog( LOG_NOTICE, "SPORT0_Enabled" );
- syslog( LOG_NOTICE, "SPORT0_RCR1 : %08x", *pSPORT0_RCR1 );
- syslog( LOG_NOTICE, "SPORT0_RCR2 : %08x", *pSPORT0_RCR2 );
-*/
// 3mS スリープ
tslp_tsk(3);
// FIFOにデータがたまったはずである。
- /*
- syslog( LOG_NOTICE, "SPORT0_Disabled. FIFO must be full " );
- syslog( LOG_NOTICE, "SPORT0_RCR1 : %08x", *pSPORT0_RCR1 );
- syslog( LOG_NOTICE, "SPORT0_RCR2 : %08x", *pSPORT0_RCR2 );
-
- syslog( LOG_NOTICE, "SPORT0_STAT : %08x", *pSPORT0_STAT );
-*/
// FIFOデータを読みだして下位2bitのみ表示する
rx[0] = *pSPORT0_RX32 & 0x3; // 下位2bitのみ抽出
rx[1] = *pSPORT0_RX32 & 0x3; // 下位2bitのみ抽出
rx[2] = *pSPORT0_RX32 & 0x3; // 下位2bitのみ抽出
rx[3] = *pSPORT0_RX32 & 0x3; // 下位2bitのみ抽出
+
+#ifndef PEEPINGTEST
*pSPORT0_RCR1 &= ~RSPEN; // RX SPORT disable
- // syslog( LOG_NOTICE, "FIFO Read. FIFO must be empty");
if (rx[0] !=0)
{
event ++;
+#endif
syslog( LOG_NOTICE, "RX word : %d,%d,%d,%d", rx[0], rx[1], rx[2], rx[3] );
+#ifndef PEEPINGTEST
}
count++;
if (!( count % 1000 ))
syslog( LOG_NOTICE, "trial : %d, event : %d", count, event);
- // syslog( LOG_NOTICE, "SPORT0_RCR1 : %08x", *pSPORT0_RCR1 );
- // syslog( LOG_NOTICE, "SPORT0_RCR2 : %08x", *pSPORT0_RCR2 );
- // syslog( LOG_NOTICE, "SPORT0_STAT : %08x", *pSPORT0_STAT );
-
+#endif
// RX受信を終了する。FIFOにはデータがたまっているはずである。
*pSPORT0_RCR1 &= ~RSPEN; // RX SPORT disable
ssync();
- /*
- syslog( LOG_NOTICE, "SPORT0 dsiabled");
- syslog( LOG_NOTICE, "SPORT0_RCR1 : %08x", *pSPORT0_RCR1 );
- syslog( LOG_NOTICE, "SPORT0_RCR2 : %08x", *pSPORT0_RCR2 );
- syslog( LOG_NOTICE, "SPORT0_STAT : %08x", *pSPORT0_STAT );
-*/
- // 1秒スリープ
- tslp_tsk(10);
+ // スリープ
+ tslp_tsk(SLEEPDURATION);
// RX FIFOが空になるまで読み捨てる
while( *pSPORT0_STAT & RXNE)