C言語H8 3664のプログラムです。
①のところがエラー表示となってしまいます。
原因を教えてください。
また、付け足したほうがよいものをおしえてください。
特に条件文のところとポートの設定。
#include <3664.h> void msecwait(int msec) { int i,j; for (i=0;i<msec;i++) { for (j=0;j<1588;j++); } } void main() { if(IO.PDR2.BIT.B1==0) /*モードスイッチがONの時*/ { while(1) { IO.PDR5.BIT.B0 = 1; /*グラデーション設定*/ msecwait(100); IO.PDR5.BIT.B0 = 0; IO.PDR5.BIT.B1 = 1; msecwait(100); IO.PDR5.BIT.B1 = 0; IO.PDR5.BIT.B2 = 1; msecwait(100); IO.PDR5.BIT.B2 = 0; } } else(IO.PDR2.BIT.B1=1) { if(IO.PDRB.BIT.B0=0) /*スイッチ1がONの時*/ { IO.PDR2.BIT.B2 = 1; /*ブザー発音*/ IO.PDR5.BIT.B0 = 1; /*点灯*/ msecwait(2000); /*2000ms待機*/ IO.PDR5.BIT.50 = 0; /*消灯*/ msecwait(500); /*500ms待機*/ IO.PDR2.BIT.B2 = 0; /*ブザー電源OFF*/ } } else if(IO.PDRB.BIT.B1=0) /*スイッチ2がONの時*/ { IO.PDR2.BIT.B2 = 1; /*ブザー発音*/ IO.PDR8.BIT.B7 = 1; /*点灯*/ msecwait(2000); /*2000ms待機*/ IO.PDR8.BIT.B7 = 0; /*消灯*/ msecwait(500); /*500ms待機*/ IO.PDR2.BIT.B2 = 0; /*ブザー電源OFF*/ } else if(IO.PDRB.BIT.B2=0) /*スイッチ3がONの時*/ { IO.PDR2.BIT.B2 = 1; /*ブザー発音*/ IO.PDR8.BIT.B2 = 1; /*点灯*/ msecwait(2000); /*2000ms待機*/ IO.PDR8.BIT.B2 = 0; /*消灯*/ msecwait(500); /*500ms待機*/ IO.PDR2.BIT.B2 = 0; /*ブザー電源OFF*/ } else (IO.PDRB.BIT.B3=0) /*スイッチ4がONの時*/ { IO.PDR2.BIT.B2 = 1; /*ブザー発音*/ IO.PDR5.BIT.B0 = 1; /*点灯*/ msecwait(2000); /*2000ms待機*/ IO.PDR5.BIT.B0 = 0; /*消灯*/ msecwait(500); /*500ms待機*/ IO.PDR2.BIT.B2 = 0; /*ブザー電源OFF*/ } }
gt4
に関する質問