RSPIは8bit単位のDMAC/DTCでの転送は不可能?

RSPIのデータレジスタ(SPDR)は、16bit/32bitでのアクセスしか許可されていません。

8bitのデータを送信する時でも、SPDRへは16bitでライトする必要があります。

これは、DMAC/DTCでは8bit単位でのデータ転送は使えないという事でしょうか?

実際に送信をDMACの転送サイズ8bitで試してみましたが、DMACは確かに転送はしていますがRSPIからデータは送信されません。

DMACの転送サイズを16bitにすればRSPIから送信されますが、送信元データを上位8bitを無駄にした16bit単位で用意する必要があります。

バイト単位の転送が出来ないなんて、とても信じ難いのですがこれが正しい仕様という事でしょうか?

ハードウェアマニュアルからはこれ以上の情報は見つけられないのですが、どなたか8bit単位でRSPIにDMAC/DTCで転送出来た方いませんか?

Parents
  • windyponさん
    私が参照したRX65NのマニュアルではRSPIにSPBYT ビット(RSPI バイトアクセス設定ビット)と言うものがあり、
    バイトアクセス可能と記載されています。
    使用しているRXはどのグループですか?
Reply
  • windyponさん
    私が参照したRX65NのマニュアルではRSPIにSPBYT ビット(RSPI バイトアクセス設定ビット)と言うものがあり、
    バイトアクセス可能と記載されています。
    使用しているRXはどのグループですか?
Children
  • 回答ありがとうございます。
    最新のRX65ではSPIはRSPIcになっていて、バイトアクセス出来るように改善されているんですね。
    私が実際に使用しているのはRX631のRSPIaです。
    割と新しいRX64M,71MもRSPIaでした。
    ちょっと調べてみたのですが、RX24U,24TではRSPIbになっていますがバイトアクセスが出来るようにはなっていませんね。
    RSPIcで改善されて、以降の品種ではバイトアクセス出来るようになるようですね。
  • わわいです
    手もとにあるRX630のマニュアルには、そーゆービットはなく、SPDCRにSPLWビット( RSPI ロングワードアクセス / ワードアクセス設定ビット)があるだけですねー