ConsoleとCommandのSystem Service Librariesを使っている.
このとき,Consoleのインスタンスを2つにし,インスタンス0をUart,インスタンス1をUSB DeviceのCDCに割り当て,どちらからでも同じコマンド入力に対応するようにしたいと思った.
手始めに,インスタンス0にUartのみ割り当て,デバッグをして,
ConsoleのSYS_CONSOLE_Write関数や
Command Processor System Service Library
に引っかかりながらも,何とかコマンド入出力が可能になった.
ここで,USB CDCを有効にするため,Harmony ConfigureのConsoleを操作し,インスタンスを増やそうとしたが,手違いで一旦Consoleサービスのチェックを外してしまった.
再度チェックを入れ,UartとUSB CDCを有効にしてインスタンスを設定し,コンパイルする.
が,Uartが全く動作しない.さっきまでうまく動いてたのに...
2時間ほどプログラムをステップ実行しながらデバッグしても,Uartのレジスタにデータはちゃんと登録されている.ナゼ?
と,ここまで来ると,ほぼハードウェアよりの問題ということで,I/O設定を見直したりしていると,なんとPin DiagramのUartの項目のチェックが外れている.
どうも,Consoleインスタンスでの手違いでチェックを外した時,Uartの設定も合わせてクリアされたようだ.
Uartの設定が飛んでるのは気づいて戻していたが,I/O割り付けの設定を戻していないだけだった.
悲しい.
コメント