1

ユーザーがカスタムカーネルに入力したものをリアルタイムで表示する「エレガントな」方法を作成しようとしています.68hc12のために取り組んでいます。

#include "hc12sci.h"
#include "iomanip.h"

int main()
{
    Hc12Sci hc12sci(sci0,16,36); // serial port, rxlen, txlen
    ostream os(&hc12sci);
    istream is(&hc12sci);

    char cmd[16];
    char c;

    os << "hello world!" << endl;
        while(1)
    {
            for(int i = 0; i<=15; i++)
        {
                  is >> c
              cmd[i] = c;
              os << c << flush;
                  if(c == '\r')          // test for carriage return
                        os << cmd << endl;
             }
             os << endl;
    }                      
    return 0;

私が確信している多くの問題は、キャリッジ リターン if ステートメントに入らないように見えることです。私はこれをUbuntuで構築していますが、ifステートメントで間違っていることはありますか? 追加情報が必要な場合はお知らせください。ありがとう。

4

1 に答える 1

1

私が見ることができる最初の問題は、キャリッジリターンをチェックしていることです。Ubuntu/Unix では、行末に改行を使用しません。代わりに改行を使用します: '\n' (0x0A)。

したがって、これを次のように変更してみてください。

if ( c == '\n')
于 2013-02-18T05:12:45.220 に答える