はじめまして、よろしくお願いします。
RL78G13(R5F100GG-48pin)を使用しています。
シリアルアレイユニットを使用して2チャンネル(CSI00,01)のマスターシリアル通信を行いたいのですが、
1チャンネル(CSI00)しか動作しません。
シリアルアレイユニット設定は下記ですが、他に設定がいるのでしょうか。
PIORレジスタは"00h"設定です。
SS0Lのbit0,1は個別に動作させたいチャンネル時に設定、
設定後にSIO00 or 01に転送データをセットしています。
CSI00は問題なく動作するのですが、CSI01は動作せずSCLKの出力端子P75/SCK01はシリアル設定を行っても"L"のままです。
P73/SO01は"H"になります。
シリアル設定の前のポート設定は下記にしています。
P7 = 00111000B
PM7 = 00111000B
;====================================================================; SAU(CSI00 & CSI01) initialize;====================================================================SINISAU: SET1 CSIMK00 ; mask CSI00 interrupt SET1 CSIMK01 ; mask CSI01 interrupt; SET1 SAU0EN ; enable serial clock NOP NOP NOP NOP MOV SPS0L, #00000000B ; Serial clock select register MOV ST0L, #00000011B ; stop channel 0(CSI00) and 1(CSI01);; ******************* CSI00設定 for Source-DRIVE *************************** MOVW AX, #0000000000100000B ; set channel0 mode MOVW SMR00, AX ;; MOVW AX, #1000000000000111B ; MOVW SCR00, AX ;; MOVW AX, #0011111000000000B ; baud rate setting MOVW SDR00, AX ;;; ******************* CSI01設定 for Gate-DRIVE *************************** MOVW AX, #1000000000100000B ; set channel1 mode MOVW SMR01, AX ;; MOVW AX, #1000000000000111B ; MOVW SCR01, AX ;; MOVW AX, #0011111000000000B ; baud rate setting MOVW SDR01, AX ;;---------------------------------------------------------------------------;******************* CSI00 & CSI01設定 共通 *************************** MOVW AX, #0000111100001111B ; MOVW SO0, AX ;; SET1 SOE0L.0 ; CSI00 output enable SET1 SOE0L.1 ; CSI01 output enable; CLR1 PM1.0 ; set SCK00 to output CLR1 PM1.2 ; set SO00 to output SET1 PM1.1 ; set SI00 to input; CLR1 PM7.5 ; set SCK01 to output CLR1 PM7.3 ; set SO01 to output SET1 PM7.4 ; set SI01 to input; CLR1 CSIIF00 ; clear CSI00 request flag CLR1 CSIIF01 ; clear CSI01 request flag; CLR1 CSIMK00 ; enable CSI00 interrupt CLR1 CSIMK01 ; enable CSI01 interrupt; RET
チョコさん
コメントありがとうこざいます。
昨日、ごそごさといじっていて原因がわかりました。
下記のレジスタ設定を修正したところ、正常にCSI01ユニットからの出力が確認できました。
誤 正
SO0レジスタ : 0000111100001111B → 0000101100001011B
R5F100GGがユニット0チャンネル2を使えないので関係ないだろうと設定していたのですが、
この設定が悪さをしていました。
ありがとうございました。