2016/05/28

[esp8266]UARTのRX_FIFOをアプリで読めばよい

前回の続き。

UARTの受信レジスタ(RX_FIFO)を読むuart_recvTaskというものがあるのだが、それが今のアプリタスクが終わらないと呼び出されないので、どうしようどうしよう。。。というところまでだった。

 

最初に記事を書いてから、頭の整理のためにシーケンス図を追加した。
そうすると、難しく考えすぎていることに気付いた。

もともと、uart_recvTaskもコンテキストとしてはアプリタスクと変わらない(割込みじゃないという意味で)。
なので、アプリタスクでuart_recvTaskがやるのと同じことをやってしまえばよい、と。
受信データはRX_FIFOに勝手にたまっているから、同期で読めるのだ。
なーんだ。

image

RC-S620/Sは基本的に相手から勝手にデータを送ってくることはないので、uart_recvTaskの動きを止めてしまっても良いのだが、このまま様子を見てみよう。

やればできるやん。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。