Author: onishi もくじ†コメント†コメントはありません。 Comments/チュートリアル/PSoC1duino_スイッチ編 スイッチでLEDを点灯させる†PSoC1duinoについているスイッチは、RESETに繋がったものしかありません。なので、スイッチによってLEDを制御するには、ボードの外にスイッチを用意する必要があります(ブレッドボードを使用すると便利です)。今回はD2(Port_2_2)をスイッチとして割り当てています。(不細工ですが、ブレッドボード上はこのようになっています。)
2.続いて、ソースコードを記述していきます。 void main(void){ while(1){ PRT2DR&= ~0x04; if(( PRT2DR&0x04 ) != 0){ PRT1DR |= 0x40; }else{ PRT1DR &= ~0x40; } } } PRT1DR,PRT2DRはそれぞれPort1,Port2のことです。0x04や0x40はPortの中で対応するピンです。例えば、Port_2_2であれば、2進数で00000100なので、16進数として04となります。 ここで、毎回、PRT2DRと~0x04(0x04の否定=0xfb)との論理積(&)を取っていて、Port_2_2を"L"にしています。これは、PSoC1の仕様で、プルダウン抵抗をONにして、スイッチを押していないときにポートを"L"にするためには、明示的にそのポートを"L"にすることが必要なため、です。ですので、プルダウン抵抗を使ってポートの1/0を読むときは、まずはそのポートを"L"にしてから読むようにします。(プルアップの場合はすべて逆) |