まず私の PIC は 16f1625 で、プログラミングには MPLAB 8.86 を使用します。私の問題は単純です。私は PC と PIC の間で通信を行っています。PC は 1 バイトを送信し、PIC はこのバイトを読み取り、何かを行います。私の問題は、このようにこれを改善したいということです.PCは「R」のような1文字を送信し、その後、設定したい番号を送信します。今日、私は4つの可能性しかありません。PCは0、1、2、または5を送信し、これらに従って解像度を設定します。
switch(i) {
case 1:
pulsesPerMm = 10;
break;
case 2:
pulsesPerMm = 20;
break;
case 5:
pulsesPerMm = 51;
break;
case 10:
pulsesPerMm = 102;
break;
}
次のようなコマンドを受け取ります。
while(!RCIF) /* set when register is not empty */
continue;
return RCREG;
今、私はこのようなことをしたい: 次の単語が解像度になることを示す "R" を受け取り、その後、2 バイトが新しい解像度になり、文字列を int に変換するだけです ( atoi) を使用してから、pullesPerMm を設定できます。問題は、1 文字しか必要としない他のコマンドがあるため、これらを変更したくないことです。