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よりはマシなのでこれでいこうと思います。