SW(P14)を押すとLED1(P10)が消えるような回路を作るという課題が出されました。
ソースコードは与えられていたのですが、いくつか修正が必要になっているものでした。
それを私が修正して以下のコードに書き換えました。
このコードは正しいですか?
#include <m8c.h>
#include "PSoCAPI.h"
Modules
#define SW 0b00010000
#define LED 0b11111110
void main()
{
PRT1DR &= (~SW);
while(1){
if(PRT1DR & SW){
PRT1DR &= (~LED);
PRT0DR &= (~SW);
}else{
PRT1DR |= LED;
PRT1DR &= (~SW);
}
}
}
そして私はこのコードでどのような処理をしているのかがよく理解できません。
まず最初の
PRT1DR &= (~SW);
とありますがこれはどういう意味なのですか?
Port14 をHIGHにしているということですか?
またwhile文の中のelseとif文の処理もよくわかりません。
PSoCに詳しい方ご教授願います。