0

C#インターフェイスを使用してmikroCproからPCに文字列を送信したい。私のコードは:

void main()
{
    while (1) 
    {
        if (UART1_Data_Ready())
        {
            UART1_Write_Text("mikroC");
            Delay_ms(1000);
        }
    }
}

ただし、がC#で受信されると、最初に文字列全体として返され、次に「m」、次に「ikroC」を送信するように、その一部が返されます。私のC#コードは次のとおりです。

private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
     MessageBox.Show(serialPort1.ReadExisting().ToString());
}
4

1 に答える 1

0

MSDN ドキュメントには、次のように記載されています。DataReceived イベントは、受信したバイトごとに発生することが保証されていません。SerialPort.BytesToReadプロパティを使用して、バッファ内で読み取るデータがどれだけ残っているかを判断します。詳細については、このMSDN の記事を参照してください。

于 2012-05-29T20:07:56.153 に答える