#include #include #include "write_macro.h" //グローバル変数宣言 volatile unsigned char receive[10] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; //自作.hファイル展開スペース #include "ps2_pad.h" #include "timer.h" #define ON 1 #define OFF 0 void ps2pad_connect(void) { if(receive[1] == 0x41) ps2pad_init(receive); else get_ps2pad_command(receive); } void Init(void)//初期化用関数 { //8MHzで動作 CLKPR = 0x80; CLKPR = 0x00; } int main(void) { volatile unsigned int f; unsigned long command; Init(); USART_Init(); wait_init(); pwm_1a(); DDRB = 0xFF; /* 安全のためI/Oポートを出力モードに */ DDRC = 0xFF; DDRD = 0xFE;//クロック出力の場合はポートも出力設定にすること PORTC = 0xff; sei(); while(1) { ps2pad_connect(); wait_ms(1); if(!read(receive[4], 5)) vibrate_switch(ON); // else if(!read(receive[4], 6)) vibrate_switch(OFF); command = (receive[3]<<8) + receive[4]; } }