ラズベリーパイのGPIOの入力をintに変換しようとしています。 私は5つのデジタル入力があり、入力を読みたいと思っています。値を取得したら配列に格納します。次は、配列の内容をint型に変換することです。バイナリ信号を整数に変換する
だからここに私のコードです:
int a = digitalRead(PIN_16);
int b = digitalRead(PIN_18);
int c = digitalRead(PIN_22);
int d = digitalRead(PIN_24);
int e = digitalRead(PIN_26);
int array[5];
array[0]=a;
array[1]=b;
array[2]=c;
array[3]=d;
array[4]=e;
他のその1 I 1、場合最初の入力が1または0の場合の条件を参照してください場合、私はyouseう数に配列の内容を変換するには0など。
私の質問は、これを行うより洗練された方法がある場合です。数の適切な位置に
数は何をすべきですか? (例えば、pin16がハイの場合は何番になるべきですか) – Lanting
それぞれの値を2の累乗で掛け合わせ(または異なる量だけ左シフト)、それらを一緒に加算します(あるいは、ビット単位またはビット単位) 。たとえば、 'value =(a << 0)| (b << 1)| (c << 2)| (d << 3)| (e << 4); –