#include <7125.h> unsigned char txb0[50]={}, rxb0[50]={};//SCI0用シリアルリングバッファ unsigned int f;//基本的にfor文用 //受信用コマンド unsigned char READ_DATA[] = {0x01, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; //SELに対応するIOポートを指定 #define SEL PB.DR.BIT.B5 //受信データの格納用変数 unsigned char DAT[9]; void Init_7125(void)//初期化設定 { /*--------------ポートA-CR---------------*/ //ポートAの役割を設定 //共通項 000-汎用入出力 //PS2PAD_DAT PFC.PACRL3.BIT.PA10MD = 6; //PA10: 110-RXD0入力 //PS2PAD CMD PFC.PACRL3.BIT.PA11MD = 6; //PA11: 010-ADTRG入力 110-TXD0出力 //PS2PAD SEL PFC.PACRL4.BIT.PA12MD = 6; //PA12: 110-SCK0入出力 /*--------------ポートB-CR---------------*/ //SEL PFC.PBCRL2.BIT.PB5MD = 0;//PB5: 001-IRQ3入力 011-TIC5U入力 /*---------------------------------------*/ /*--------------ポートB-IOR---------------*/ //SEL PFC.PBIORL.BIT.B5 = 1; /*----------------------------------------*/ /*------------------SCI0------------------*/ SCI0_INIT (15, 1, txb0, sizeof(txb0), rxb0, sizeof(rxb0)); SCI0.SCSMR.BIT.CA = 1;//0-調歩同期式 1-クロック同期式 INTC.IPRL.BIT._SCI0 = 14;//SCI0の割り込みレベルを12に設定*/ /*----------------------------------------*/ } void SCI0_PUT_GET_C(unsigned char *cmd, unsigned char *dat) { SCI0_OUT_DATA(*cmd); *dat = SCI0_IN_DATA(); } void SCI0_PUT_GET_S(unsigned char *cmd, int LEN, unsigned char *dat) { SEL = 0; for(f = 0; f < LEN; f++){ SCI0_PUT_GET_C(cmd+f, dat+f); } SEL = 1; } unsigned int Read_Data(void){ unsigned int command; SCI0_PUT_GET_S(READ_DATA, sizeof(READ_DATA), DAT); command = (DAT[4] << 4) + DAT[5]; return command; } int main(void) { Init_7125(); while(1); }