#include <3694.h> // H8 Tinyの内部I/O定義 // 送受信用バッファ char txb[10], rxb[10]; /*--------------------------------------------------*/ /* ウェイト関数(受け取ったバイト値x20mS待つ) */ /*--------------------------------------------------*/ void wait (unsigned char speed) { //タイマA初期化(1/512クロックで1カウント、39倍で19968クロック=約1mS) TA.TMA.BYTE = 0x13; long spd; spd = speed * 20; //20mS倍; while (spd){ //1mSウェイト while(TA.TCA < 40); //512クロックを39回=約1mS TA.TMA.BYTE = 0x1F; //TCAリセット TA.TMA.BYTE = 0x13; spd--; } } /*--------------------------------------------------*/ /* メイン */ /*--------------------------------------------------*/ void main(void) { SCI3_INIT (br57600, txb, sizeof(txb), rxb, sizeof(rxb)); // 通信ポート初期化 EI; //ADC設定 AD.ADCSR.BYTE = 0; // A/D変換停止 AD.ADCSR.BIT.ADIE = 0; // A/D変換割り込み禁止 AD.ADCSR.BIT.SCAN = 0; // 単一モード AD.ADCSR.BIT.CKS = 1; // 高速変換 unsigned int result; // 結果格納用変数 while(1){ // 無限ループ AD.ADCSR.BIT.CH = 0; // AN0を指定 AD.ADCSR.BIT.ADST = 1; // A/D変換スタート(解像度10bit) result = AD.ADDRA; // AN0はADDRA(16bit幅)に右詰めで格納される result = (result>>6); // 左詰めに修正 SCI3_PRINTF("RESULT=%d \r\n",result); // 結果出力 wait(25); // 少しウェイト } }