• ベストアンサー

C++でLEDを点灯させるプログラム

最近、マイコンを購入しLEDを光らせる簡単な回路を作成したのですが、そのためのプログラムが作れず困っています。 タイトルの通りC++でスイッチを入れると電源(DC5v)が一定時間ごとに入ったり、切れたりしてLEDが点灯したり消灯したりするプログラムを作ろうと思っているのですが、如何せんそのような知識がなくどう作ればよいのかわからず困っております。どなたかご教授くださいませんか。

質問者が選んだベストアンサー

  • ベストアンサー
  • tabaxyz
  • ベストアンサー率64% (11/17)
回答No.2

マイコンの種類が明記されていないのでなんともですが、 C++でのプログラムが可能との事でSH4などPICほどプアじゃないと前提にて、 I/OポートのPIOに No1さんのようにLOWにすることで点灯するようには、 #define PIO_ADDR (0x00000000) // ここにはPIOがマップされているIOアドレスを定義 int main( void ){ volatile unsigned char *io = (volatile unsigned char *)PIO_ADDR; for(;;){ *io = 0x00; // 点灯 sleep( 1 ); // 1秒待つ(ライブラリ等をリンクする事) *io = 0xff; // 消灯 sleep( 1 ); // 1秒待つ } return (0); } のようにすればとりあえずは点滅します。 マイコンのマニュアルを良く読んでI/Oアドレスなどを確認してください。 また、I/OポートもPowerOnResetでは入力・出力のどちらがデフォルトか色々ありますから、そちらへの初期化も必要になるでしょう。

zzaqq
質問者

お礼

ご丁寧にどうもありがとうございます。 ちなみにマイコンはMB-H8Aです。

その他の回答 (1)

  • LHS07
  • ベストアンサー率22% (510/2221)
回答No.1

出力のポート番号につながっているLEDが何ビットめなのかを調べてLOWにすれば電気が流れます。8ビットの出力ポートの1ビットにLEDをつなぐ場合、1ビット目をLOWにすればすなわち0Vにすれば電源は5Vなので電流は流れてLEDが点灯します。 まず、2進数と16進数を勉強してください。

zzaqq
質問者

お礼

回答ありがとうございます。

関連するQ&A

専門家に質問してみよう