富士通 FM TOWNS STM32F4 キーボードをUART/USARTで送受信


STM32F4のUSB OTG HOST機能を使って、PS/2キーボードとUSBキーボードを使えるようにしましたが、UART/USARTでの送受信がうまくいきませんでした。
今後のことを考えるとUART/USART機能はクリアしておかなければならないため、再度挑戦します。

FM TOWNSへのキーボード信号ですが、for文でのDelayでの実装をオシロで見てみました。
これと同じ信号がUARTで出ていればいいので、色々と調整してみました。

以前は HAL_UART_Transmit_IT() を使っていたのですが、同期型の HAL_UART_Transmit() に置き換えることでUARTでの通信ができました。
同期型だとCPUが拘束されますが、特に他に何かやっている訳でもなく、割り込み処理もありますので問題ありません。
オシロで見ると、同じような信号が出ていたので、まあ大丈夫でしょう。

次はPS/2信号のUSART化ですが、色々やってみたものの残念ながらPS/2のUSART化は諦めました。
CLKをFalling割り込みで検出する方法で十分追従しているので、問題ないでしょう。

それではUARTで動作確認してみます。

Delay同様、問題なく入力できました。
DMA転送とかしたほうがいいんでしょうけど、Delayよりはマシなのでこれでいこうと思います。










戻る