こんにちは。
RX72N EnvisonKitとスマートコンフィグレータで動作確認してます。
以下につてご存じでしたら、お教え願います。
SCIの送信はDMAで、受信はCPU(プログラム)で行う方法は可能か?
スマートコンフィグレータ(V2.12.0)のr_sci_rx(4.40)で以下設定してます。
Use DTC/DMA for Transmit(SCI7) =2
Use DTC/DMA for Receive(SCI7) = 0
上記設定で送信はDMA完了タイミングでのSCI用 SCI_EVT_TEI割り込みが発生し データも相手に
データが送られていること確認しました。
しかし、受信は割り込は発生しますが、SCI_EVT_RXBUF_OVFLで割り込みが発生します。
(SCI_EVT_RX_CHARを期待したのですが)
スマートコンフィグレータが生成したr_sci_rx.cを確認したところ、r_SCI_OpenでQueバッファが
作成されないように思われます。(tx条件のみで tx、rx用queバッファをそれぞれ確保)
確認はSCIのDMA選択すると送信、受信共にDMAで行うことになるのでしょうか?
(別々の転送機能選択は困難と考える?)
既に投稿済みでしたら、併せていお教えください。
個人的な思い:
送信は送る数が確定(概ね)し送るのでDMA機能が便利かと。
受信は1データ単位で割り込みが発生し、CPUが読み出し(Que数処理すれば)
良いかと。(固定長ならDMAでもOKですが)
NoMaYさん
早速の情報提供ありがとうございます。
お教え頂いたSCIのDocにあるR01AN1815JJ0440 Rev.4.40の注意事項(6/101頁)の6項目
【チャネルSCI の設定は、TX とRX で共通にする必要があります】確認しました。
資料よく見ないで質問してしまいました。申し訳ありません。
SCFGでTxとRxが別々に設定できるため、出来るのではと思い込みました。
(言い訳です。)
SCFGが親切にもDocにPDFを生成してくれるマニュアルの見落としです。(注意事項なのに)
ありがとうございました。