- ベストアンサー
C++でLEDを点灯させるプログラム
最近、マイコンを購入しLEDを光らせる簡単な回路を作成したのですが、そのためのプログラムが作れず困っています。 タイトルの通りC++でスイッチを入れると電源(DC5v)が一定時間ごとに入ったり、切れたりしてLEDが点灯したり消灯したりするプログラムを作ろうと思っているのですが、如何せんそのような知識がなくどう作ればよいのかわからず困っております。どなたかご教授くださいませんか。
- みんなの回答 (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では入力・出力のどちらがデフォルトか色々ありますから、そちらへの初期化も必要になるでしょう。
その他の回答 (1)
- LHS07
- ベストアンサー率22% (510/2221)
出力のポート番号につながっているLEDが何ビットめなのかを調べてLOWにすれば電気が流れます。8ビットの出力ポートの1ビットにLEDをつなぐ場合、1ビット目をLOWにすればすなわち0Vにすれば電源は5Vなので電流は流れてLEDが点灯します。 まず、2進数と16進数を勉強してください。
お礼
回答ありがとうございます。
お礼
ご丁寧にどうもありがとうございます。 ちなみにマイコンはMB-H8Aです。