このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| exercise1_出力 [2015/02/05 02:31] – 作成 member | exercise1_出力 [2015/02/28 05:45] (現在) – member | ||
|---|---|---|---|
| 行 9: | 行 9: | ||
| まず最初は、**「LEDを3つとも光らせる」**です。 | まず最初は、**「LEDを3つとも光らせる」**です。 | ||
| - | Coming soon. | + | 流石に参考書レベルに書くつもりは無いので、 |
| + | SHマイコンの参考書やSHマイコン入門サイト等 | ||
| + | で調べていることを前提に進んでいきます。 | ||
| + | |||
| + | また、ちなみに16進数と2進数と10進数の変換は出来ることを前提としています。 | ||
| + | まず、点灯したいLEDがSHのどのポートにつながっているかを確認してください。 | ||
| + | 今回はポートEの0, | ||
| + | |||
| + | まず、ポートE(PE)を出力に設定します。 | ||
| + | |||
| + | 出力と入力の違いは、\\ | ||
| + | 出力…ピンの電圧(5Vか0Vか)をプログラムで決定できる\\ | ||
| + | 入力…ピンの電圧をプログラムで確認することが出来る\\ | ||
| + | という感じです。 | ||
| + | |||
| + | 良く判らなくても、\\ | ||
| + | LEDやモータを使うときは出力、スイッチを使うときは入力。\\ | ||
| + | という認識でOKです。 | ||
| + | |||
| + | PEは0~15の16Bitのポートです。\\ | ||
| + | PFC(ピンファンクションコントロール)では「PFC.PEIORL」に値を代入する事によって入力と出力を選ぶことが出来ます。\\ | ||
| + | 具体的には、箱があって、そこに1を入れるか0を入れるかによって\\ | ||
| + | PEを出力(1)に設定するか入力(0)に設定するかを選択できます。 | ||
| + | |||
| + | 今回は0, | ||
| + | PFC.PEIORLには2進数で000000000111と代入すればいい事が判ります。\\ | ||
| + | ちなみに、1を入力するBITは右から0, | ||
| + | |||
| + | 2進数で111(0は気にしないから)というのは16進数で7ですね。\\ | ||
| + | よって\\ | ||
| + | PFC.PEIORL.WORD = 0x0007; | ||
| + | と書くと、0,1,2BITは出力、それ以外のポートEのピンは入力なります。 0xというのは16進数で、という意味です。 | ||
| + | |||
| + | 次に**5V出力**をします。 | ||
| + | |||
| + | 出力に設定したことでプログラムで5Vか0Vかを選べるようになりました。\\ | ||
| + | |||
| + | 実際に選ぶには[PE.DRL.WORD]もしくは[PE.DRL.BIT.B(ビットの番号)]に値を代入します。\\ | ||
| + | 2つの違いは、WORD単位(4桁)で書き込むか、BIT単位(1桁)で書き込むかの差です。 | ||
| + | |||
| + | 考え方はPEIORLと同じで、1を代入すると5V、0で0Vです。 | ||
| + | |||
| + | そして、LEDのつながっているポートを5VにすればLEDは光るはずです。 | ||
| + | |||
| + | ココから先は自分で考えてみてください。(本も参考にするとよしです) | ||
| + | |||
| + | それが出来るようになったら、今度はモータドライバ(2本並んでいる長細いやつ)に出力してみてください。 | ||
| + | |||
| + | ポート番号は調べましょう。 | ||