#include "iodefine.h" #include "global.h" #include "vect.h" extern MAIN_STATE main_state; extern MODE_STATE mode_state; extern unsigned char volume; void initIRQ(void); void initIRQ(void){ int i; ICU.IER[8].BYTE = 0x00; //デジタルフィルタ 許可ビット ICU.IRQFLTE0.BYTE = 0x00; ICU.IRQFLTC0.WORD = 0xFFFF;//64clockに1回 //デジタルフィルタ 許可ビット IRQ0-7 ICU.IRQFLTE0.BYTE = 0xFF; PORTD.PDR.BYTE = 0; PORTD.PMR.BYTE = 0x00;//ポートモードレジスタ(0:汎用入出力ポート, 1:周辺機能) //マルチファンクションピンコントローラ MPC.PWPR.BYTE &= ~0x80;//PFSプロテクト解除 MPC.PWPR.BYTE |= 0x40; MPC.PD0PFS.BYTE = 0x40; MPC.PD1PFS.BYTE = 0x40; MPC.PD2PFS.BYTE = 0x40; MPC.PD3PFS.BYTE = 0x40; MPC.PD4PFS.BYTE = 0x40; MPC.PD5PFS.BYTE = 0x40; MPC.PD6PFS.BYTE = 0x40; MPC.PD7PFS.BYTE = 0x40; MPC.PWPR.BYTE &= ~0x40; MPC.PWPR.BYTE |= 0x80;//PFSプロテクト設定 ICU.IRQCR[0].BIT.IRQMD = 1; ICU.IRQCR[1].BIT.IRQMD = 1; ICU.IRQCR[2].BIT.IRQMD =...
//後でコメントを追加する #include <stdio.h> #include <math.h> #include "iodefine.h" #include "global.h" #define SIN_MAX 256 #define RHYZM_MAX 26 void playSound(void); void stopSound(void); unsigned char ryzhmCnt = 0; unsigned char nextRyzhmCntFlag = 0; unsigned char nextMusicIntervalFlag = 0; unsigned short sinNow = 0; unsigned char volume = 0x01; unsigned short musicFreq; unsigned short musicSpeed = 10; /* 256 c */ unsigned char sounds[] = { 127,130,133,136,139,142,145,148, 151,154,157,161,164,166,169,172, 175,178,181,184,187,189,192,195, 197,200,202,205,207,210,212,214, 217,219,221,223,225,227,229,231, 232,234,236,237,239,240,242,243, 244,245,246,247,248,249,250,251, 251,252,252,253,253,253,253,253, 253,253,253,253,253,252,252,251, 251,250,249,249,248,247,246,245, 243,242,241,239,238,236,235,233, 231,230,228,226,224,222,220,218, 215,213,211,209,206,204,201,199, 196...