アプリ版:「スタンプのみでお礼する」機能のリリースについて

抜粋ですが、このコードを書き、RS-232C経由で実際に通信させて
誤入力をバックスペース押下して削除できるかたましましたが機能してくれませんでした。
詳しい方お願いします。
コンパイラXC8 v2.00
if(RXBUFF_2 != NULL){
rs_out_tx(RXBUFF_2); // バックエコー
if(RXBUFF_2 == 0x08){ // バックスペースが押されたら

RXBUFF_2 = NULL;
i--;
RXBUFF_3[i] = NULL;

if(i <= 0)i = 0;
}
RXBUFF_3[i] = RXBUFF_2;
RXBUFF_2 = NULL;
i++;
if(i == 18){
i = 0;
}
}

質問者からの補足コメント

  • 回答ありがとうございます。
    問い合わせの処理は実装していません。
    プログラムメモリーが残0.4%なので足りるかわかりませんが一度試してみます。
    ダメなようであればまた補足します。

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/08/18 10:01

A 回答 (1件)

PCのシリアルポートから送信してしまったデータを対象ってことなら、それを処理するのは受信側のPICの仕事ですよね。

で、修正されたかどうかはPIC側に問い合わせて確認しないといけませんが、その一連処理が入ってるんですか?
この回答への補足あり
    • good
    • 0
この回答へのお礼

解決しました。
下記のようにしたところ誤入力を消して正しく入力できました。
ありがとうございます。

if(RXBUFF_2 != NULL){
if(RXBUFF_2 != 0x08){
rs_out_tx(RXBUFF_2); // バックエコー
RXBUFF_3[i] = RXBUFF_2;
RXBUFF_2 = NULL;
i++;
if(i == 18)i = 0;
}else{
rs_out_tx(RXBUFF_2); // バックエコー
RXBUFF_2 = NULL;
i--;
RXBUFF_3[i] = NULL;
if(i <= 0)i = 0;
}

お礼日時:2018/08/18 12:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!