UARTのライブラリにバグ(NXCの16550互換のUARTのみ)

17 Jul 2013

UARTのライブラリにバグ(NXPの16550互換のUARTのみ)

UARTの受信処理中に送信処理を行うと、受信処理が妨害される現象が発生したので、 mbed SDK のソースを確認したところ、serial_putc()関数にバグらしき個所を見つけたので報告しておきます。

 半二重では気が付きませんが、全二重動作で途端に動作がおかしくなります。

<http://mbed.org/users/mbed_official/code/mbed-src/file/f9e72c209510/vendor/NXP/LPC1768/hal/serial_api.c>

THRレジスタとRBRレジスタは同じアドレスに割り当てられているので受信データを横取りしてしまっています。

/media/uploads/3DPO/serial_api.jpg

/media/uploads/3DPO/um10360.jpg

18 Jul 2013

こんにちは。
バグだと思われるので、Bug report用のフォーラムにポストしておきました。

https://mbed.org/forum/bugs-suggestions/topic/4473/
以上、宜しくお願いします。