8個あるLEDのうち、LED1〜LED7の7個を制御できるようになっています。 以下の関数を使用します。
void OffLED(int led); // led番目のLEDを消灯 void OffAllLED(void); // 全てのLEDを消灯 void OnLED(int led); // led番目のLEDを点灯 void OnAllLED(void); // 全てのLEDを点灯 void InitLED(void); // LEDを初期化
4個ある押しボタンスイッチ (Push Button switch, PB) のうち、 PB1とPB2の2個を使用して、DSPに割込みをかけることができます。 割込みがかかると、予め指定した関数が実行されます。 押しボタンスイッチを押した時に実行される関数は、 main.cの関数main()で指定しています。 該当部分は、
// Push button interrupts for volume control // You can use these interrupts for your own functions interrupt (SIG_IRQ0, Irq0ISR) ; interrupt (SIG_IRQ1, Irq1ISR) ;となっています。 実際に実行される関数は、
void Irq0ISR(int i);という形式で宣言します。
例として、押しボタンスイッチを押すとLEDが点滅するプログラムを示します。
// LEDの状態を保持する変数 int LED3 = 0; int LED4 = 0; // PB1が押された時の処理関数を定義 void PB1ISR(int i) { if (LED3 == 0) { LED3 = 1; OnLED(3); } else { LED3 = 0; OffLED(3); } } // PB2が押された時の処理関数を定義 void PB2ISR(int i) { if (LED4 == 0) { LED4 = 1; OnLED(4); } else { LED4 = 0; OffLED(4); } } void main(void){ // 省略 // You can use these interrupts for your own functions interrupt (SIG_IRQ0, PB2ISR); // PB2が押された時の処理関数を指定 interrupt (SIG_IRQ1, PB1ISR); // PB1が押された時の処理関数を指定