前回の続き。
UARTの受信レジスタ(RX_FIFO)を読むuart_recvTaskというものがあるのだが、それが今のアプリタスクが終わらないと呼び出されないので、どうしようどうしよう。。。というところまでだった。
最初に記事を書いてから、頭の整理のためにシーケンス図を追加した。
そうすると、難しく考えすぎていることに気付いた。
もともと、uart_recvTaskもコンテキストとしてはアプリタスクと変わらない(割込みじゃないという意味で)。
なので、アプリタスクでuart_recvTaskがやるのと同じことをやってしまえばよい、と。
受信データはRX_FIFOに勝手にたまっているから、同期で読めるのだ。
なーんだ。
RC-S620/Sは基本的に相手から勝手にデータを送ってくることはないので、uart_recvTaskの動きを止めてしまっても良いのだが、このまま様子を見てみよう。
やればできるやん。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。