[実験 MikroC Pro PIC16F84A_LED_0035]
前回の配列(6)ポインタ(2)の実験で配列の順番を変えずにPORTBのLEDを
点滅するパターンを逆にするプログラムを考えなさい。
unsigned char Ptn3[11] = {0x81,0x42,0x24,0x18,0x00,0x81,0xC3,0x66,0x3C,0x18,0x00,};
○○○○○○○○
○○○●●○○○
○○●●●●○○
○●●○○●●○
●●○○○○●●
●○○○○○○●
○○○○○○○○
○○○●●○○○
○○●○○●○○
○●○○○○●○
●○○○○○○●
pPtn3 = &Ptn3[10]; // ポインタ初期化
で配列の最後のアドレスを指すように初期化しています。
Ptn3[10] =0x00 //○○○○○○○○
Ptn3[9] =0x18 //○○○●●○○○
Ptn3[8] =0x3C //○○●●●●○○
…
…
Ptn3[1] =0x42 //○●○○○○●○
Ptn3[0] =0x81 //●○○○○○○●
最後の要素のアドレスを指定したので引き算で配列のアドレスを逆に指定しながらLEDの点滅パターンを逆にしています。
pPtn3 = Ptn3; // ポインタ初期化
で配列の最初のアドレスを指すように初期化しています。
+10で最後のアドレスにしてから
引き算で配列のアドレスを戻しています。
mikroC PRO for PIC
0 件のコメント:
コメントを投稿