Hobby Lab 趣味のモノ作り実験のサイトです。
部品 プロセッサー他 CH32V 203マニュアル_18_USART
18 同期非同期通信
18.1 主な特徴
18.2 概要
18.3 ボーレートジェネレータ
18.4 同期モード
18.5 単線半二重モード
18.6 スマートカード
18.7 赤外線
18.8 DMA
18.9 割り込み

18.10 レジスタの説明
18.10.1 USARTy_STATR
18.10.2 USARTy_DATAR
18.10.3 USARTy_BRR
18.10.4 USARTy_CTLR1
18.10.5 USARTy_CTLR2
18.10.6 USARTy_CTLR3
18.10.7 USARTy_GPR

Pr:Prプロセッサ関係
PrP:プロセッサ
動作比較
 STM32F動作比較
 CH32V203&STM32F 動作比較
 arduino動作比較
raspberrypi関係
 RaspberryPiハード
CH32V関係
 -CH32V開始
 -203K8T6(32Pin)開始
 -203C8T6(48P)開始
 -003J4M6(8Pin)開始
 -003F4P6(20Pin)開始
 -Moun River StudioⅡ
 プログラミング!
  203_GPIO関係
  203_TIME関係
  203_TIME Encoder
  203_I2C関係
  203_1-Wire関係
  003_DS18B20テスター
  USART(UART)関係
  DS18B20をModBus制御
 -マニュアル
 203データシート
 203取説
  MBA メモリとバス方式
  PWR 電力制御
  RCC リセット・拡張・クロック
  BKP バックアップレジスタ
  CRC 巡回冗長検査
  RTC リアルタイムクロック
  GPIO GPIOと代替機能
  DMA ダイレクトメモリアクセス制御
  ADTM 高度な制御タイマー
  GPTM 汎用タイマー
  BCTM 基本タイマー
  USART 同期非同期通信
arduino関係
 ESP12関係
 (a)ESP-8266D1mini注意
PrP:その他  RS485ドライバー
 CP2102 BRIDGE
 WCH-LinkEエミュレーター
Pr:Wire 電線関係
Pr:Resistance 抵抗
Pr:Capacitor コンデンサ
Pr:Coil コイル
Pr:PassiveElmt 受動素子
Pr:Diode ダイオード関係
Pr:OPAMP オペアンプ関係
PrO:送受信機  Si4735
PrO:オペアンプ  LM324
 LM358
Pr:Tr トランジスタ関係
2SC1815
 リレードライバー設計
 アンプ設計
 発振器
TLP152
 TLP152テスト
TLP2361
 TLP2361テスト
TLP5754
 TLP5754テスト
Pr:Source 電源関係  ツェナーダイオード
 TL431
 LM317
PrS:Downモジュール
 EGS002_IR2110S
 SKU011012
 ACDC02
 XH_M299
 LM2596
 Mini360_MP23070N
 DROK
 WH140
PrS:UPモジュール
 MT3608
PrS:充電モジュール
 TP4056
Pr:Sensor_AD_時計等
PrS:電圧、電流
ADS1115 16bit4CH I2C A/D
 Hardware
 RaspberryPi_コマンド接続
 RaspberryPi_Python
 Arduino
 CH23V203 MounRiverStudioⅡ
INA226 I2C 直流電圧電流
 Hardware
 Arduino
 RaspberryPi_Python
WCS 電流ホール素子
 Hardware
PrS:温度、気圧、湿度、照度
BNE280 I2C 気圧,湿度,気温
 Hardware
 Arduino
 RaspberryPi_Python
BH1750 I2C 照度
 Hardware
 Arduino
 RaspberryPi_Python
DS18B20 1-Wire 温度計
 Hardware
 Arduino
 RaspberryPi_Python
PrS:時間、日時
DS3231 I2C 時計
 Hardware
 Arduino
 RaspberryPi_Python
PrS:表示器
MAR3953 320X480 3.95"
 概要と線や点を描く
 フォントを描く
SSD1306 I2C 0.96"OLED
 Hardware
 Arduino
 RaspberryPi_Python
Pr:Old Processor他

18 ユニバーサル同期非同期受信送信機(USART)

この章は、CH32F2x、CH32V2x、およびCH32V3xファミリ全体に適用されます。
このモジュールには、3つのUSART(USART1/2/3)と5つのUART(UART4/5/6/7/8)が搭載されています。
注:CH32V20x_D6およびCH32F20x_D6の場合、シリアルポート4はユニバーサル同期非同期送受信(USART4)です。

18.1 主な特徴

・全二重または半二重の同期または非同期通信
・NRZデータ形式
・分数ボーレートジェネレータ(最大9Mbps)
・プログラム可能なデータワード長
・設定可能なストップビット
・LIN、IrDAエンコーダ、スマートカードをサポート
・DMAをサポート
・複数の割り込みソース




図 18-1 USART のブロック図

18.2 概要

TE(送信イネーブルビット)がセットされると、送信機シフトレジスタ内のデータがTXピンに出力され、クロックがCKピンに出力されます。
送信中は、最下位ビットが最初にシフトアウトされます。
各データフレームはローレベルのスタートビットで始まり、 次に送信機はM(ワード長)ビットの設定に応じて8ビットまたは9ビットのデータを送信し、最後に設定可能な数のストップビットを送信します。
パリティチェックビットがある場合、データワードの最後のビットがチェックビットになります。
TEがセットされた後、アイドルフレームが送信されます。
アイドルフレームは、ストップビットを含む10ビットまたは11ビットのハイレベルです。
ブレークフレームは、10ビットまたは11ビットのローレベルで、その後にストップビットが続きます。







18.3 ボーレートジェネレータ

トランシーバーのボーレート = FCLK/(16*USARTDIV) FCLKはAPBxのクロック(PCLK1またはPCLK2)です。
PCLK2はUSART1モジュールに使用され、その他のモジュールにはPCLK1が使用されます。
USARTDIVの値は、USART_BRRのDIV_MとDIV_Fの2つのドメインに基づいて決定されます。
具体的な計算式は次のとおりです。

USARTDIV = DIV_M+(DIV_F/16)

ボーレートジェネレータによって生成されるビットレートは、ユーザーが要求するボーレートと完全に一致しない場合があり、誤差が生じる可能性があることに注意してください。
できるだけ近い値にするだけでなく、偏差を減らす方法として、APBxクロックを上げる方法もあります。
例えば、ボーレートを115200bpsに設定すると、USARTDIVの値は39.0625に設定され、最高周波数で115200bpsのボーレートが得られますが、 921600bpsのボーレートが必要な場合、計算されたUSARTDIVは4.88になりますが、USART_BRRに実際に入力される最も近い値は4.875しか得られません。
実際のボーレートは923076bpsで、誤差は0.16%です。
送信機から送信されたシリアルポートの波形が受信機に送信される際、受信機と送信機の間でボーレートに一定の誤差が生じます。
この誤差は主に3つの要因から発生します。
受信機と送信機の実際のボーレートが一致していない、受信機と送信機のクロックに誤差がある、回路内で波形が変化する、などです。
周辺モジュールの受信部には、受信に関して一定の許容誤差があります。
上記3つの側面で発生する偏差の合計がモジュールの許容誤差限度未満であれば、その偏差は受信および送信に影響を与えません。
モジュールの許容誤差限度は、小数ボーレートおよびMビット(データフィールドのワード長)の使用の有無によって影響を受けます。
小数ボーレートの使用および9ビットデータフィールド長の使用により許容誤差限度は減少しますが、3%未満にはなりません。




18.4 同期モード

図18-2 USARTクロックタイミングの例(M=0)

図18-3 データサンプルホールド時間
同期モードは、USARTモジュール使用時にシステムがクロック信号を出力できるようにします。
同期モードが有効化され、外部にデータを送信すると、CKピンは同時にクロックを外部に出力します。
同期モードを有効にするには、制御レジスタ2(R16_USARTx_CTLR2)のCLKENビットを設定しますが、LINモード、 スマートカードモード、赤外線モード、および半二重モードを同時にオフにする必要があります。
つまり、SCEN、HDSEL、およびIRENビットがリセット状態であることを確認する必要があります。
これらの3つのビットは、制御レジスタ3(R16_USARTx_CTLR3)にあります。
同期モードの主なポイントは、クロックの出力制御です。以下の点に注意してください。
(1) USARTモジュールの同期モードはマスターモードでのみ動作します。つまり、CKピンはクロックのみを出力し、入力は受信しません。
(2) クロック信号は、TXピンがデータを出力する場合にのみ出力されます。
(3) LBCLビットは、最後のデータビットが送信される際にクロックを出力するかどうかを決定します。
CPOLビットはクロックの極性を決定し、CPHAビットはクロックの位相位置を決定します。
これらの3つのビットは、制御レジスタ2(R16_USARTx_CTLR2)にあります。
TEとREが有効になっていない場合、これらの3つのビットを設定する必要があります。
具体的な違いは図18-2に示されています。 (4) 同期モードでは、レシーバはクロック出力時にのみサンプリングを行い、スレーブは図18-3に示すように、一定の信号セットアップ時間とホールド時間を維持する必要があります。




18.5 単線半二重モード

半二重モードでは、1本のピン(TXピンのみ)を使用して送受信することができ、TXピンとRXピンはチップ内部で接続されています。
半二重モードを有効にするには、制御レジスタ3(R16_USARTx_CTLR3)のHDSELビットを設定しますが、 同時にLINモード、スマートカードモード、赤外線モード、同期モードを無効にする必要があります。
つまり、SCEN、CLKEN、IRENビットがリセット状態であることを確認する必要があります。
これらの3つのビットは、制御レジスタ2と制御レジスタ3(R16_USARTx_CTLR2とR16_USARTx_CTLR3)にあります。
半二重モードに設定した後、TX IOポートをフローティング入力またはオープンドレイン出力ハイモードに設定する必要があります。
TEビットが設定されている場合、データがデータレジスタに書き込まれている限り、データは送信されます。
複数のデバイスが単一のバスを使用して半二重モードで送受信を行う場合、バス競合が発生する可能性があることに特に注意する必要があります。
ユーザーはソフトウェアによってこれを回避する必要があります。




18.6 スマートカード

図18-4(NO)パリティチェックエラー

スマートカードモードは、スマートカードコントローラにアクセスするための ISO7816-3 プロトコルをサポートします。
スマートカードモードを有効にするには、制御レジスタ3 (R16_USARTx_CTLR3) の SCEN ビットをセットしますが、 同時に LIN モード、半二重モード、赤外線モードを無効にする必要があります。
つまり、LINEN、HDSEL、IREN ビットがリセット状態であること、そして CLKEN ビットをオンにしてクロックを出力できることが必要です。
これらの 3 つのビットは、制御レジスタ2 と制御レジスタ3 (R16_USARTx_CTLR2 と R16_USARTx_CTLR3) にあります。
スマートカードモードをサポートするには、USART を 8 データビット + 1 チェックビットに設定する必要があります。
ストップビットは、送信と受信の両方で 1.5 ビットに設定することをお勧めします。
スマートカードモードは単線半二重プロトコルで、TXラインをデータ通信に使用し、オープンドレイン出力とプルアップ構成にする必要があります。
受信側がデータフレームを受信し、パリティチェックエラーを検出すると、ストップビットでNACK信号を送信します。
つまり、ストップビット中にTXサイクルを1つ減らします。
送信側がNACK信号を検出すると、フレームエラーが生成され、アプリケーションはそれに応じて再送信できます。
図17-4は、正常な条件下でのTXピンの波形と、パリティチェックエラーが発生した場合の波形を示しています。
USARTのTCフラグ(送信完了フラグ)は、GT(保護時間)クロックの生成を遅延させる可能性があり、受信側は自身でスタートビットとして設定したNACK信号を認識しません。
スマートカードモードでは、CKピンが有効になった後の出力波形は通信とは関係ありません。
スマートカードにクロックを提供するだけです。
その値はAPBクロックであり、次に5ビットで設定可能なクロック周波数分周値です(周波数分周値はPSCの2倍で、最高周波数分周値は62です)。




18.7 赤外線

USARTモジュールは、物理層通信用のIrDA赤外線トランシーバの制御をサポートします。
IrDAを使用するには、LINEN、STOP、CLKEN、SCEN、およびHDSELビットをクリアする必要があります。
USARTモジュールとSIR物理層(赤外線トランシーバ)の間ではNRZ(非ゼロ復帰)符号化が使用され、最大サポート速度は115200bpsです。
IrDAは半二重プロトコルです。
UASRTがSIR物理層にデータを送信した場合、IrDAデコーダは新しく送信された赤外線信号を無視します。
USARTがSIRからデータを受信する場合、SIRはUSART信号を受け入れません。
USARTからSIRに送信されるレベルロジックと、SIRからUSARTに送信されるレベルロジックは異なります。
SIR受信ロジックでは、「1」が高レベル、「0」が低レベルを表します。ただし、SIR送信ロジックでは、「0」が高レベル、「1」が低レベルを表します。




18.8 DMA

USARTモジュールはDMAをサポートしており、DMAを使用して高速連続受信と送信を実現できます。
DMAが有効でTXEビットが設定されている場合、DMAは設定されたメモリ空間から送信バッファにデータを書き込みます。
DMAを受信に使用する場合、RXNEビットがセットされるたびに、DMAは受信バッファ内のデータを特定のメモリ空間に転送します。




18.9 割り込み

下表の複数の割り込み ソースをサポートします。
割込ソース略語Enable bit備考
送信データレジスタが空TXETXEIETransmit data register empty
送信許可CTSCTSIETransmission allowed
送信完了TCTCIETransmission complete
受信データ準備完了TXNETXNEIEReceived data ready
オーバーランエラーを検出OREdata overrun error
アイドルラインIDLEIDLEIEIdle line
パリティエラーPEPEIEparity check error
ブレークフラグLBDLBDIEBreak flag
ノイズNEEIEnoise
マルチバッファ通信オーバーランエラーORTOverrun error in multi-buffer communication
マルチバッファ通信フレーミングエラーFEFraming error (FE) in multi-buffer communication




18.10 レジスタの説明

NameAccess address USARTy
0x400*****
DescriptionReset
value
y=1y=2y=3y=4y=5y=6y=7y=8
R32_USARTy_STATR13800044000480004C00050000180001C0002000status register0x000000C0
R32_USARTy_DATAR13804044040480404C04050040180401C0402004data register0x000000XX
R32_USARTy_BRR13808044080480804C08050080180801C0802008baud rate register0x00000000
R32_USARTy_CTLR11380C0440C0480C04C0C0500C0180C01C0C0200Ccontrol register10x00000000
R32_USARTy_CTLR213810044100481004C10050100181001C1002010control register20x00000000
R32_USARTy_CTLR313814044140481404C14050140181401C1402014control register30x00000000
R32_USARTy_GPR13818044180481804C18050180181801C1802018guard time and prescaler register0x00000000

18.10.1 USARTステータスレジスタ(R32_USARTy_STATR)(y=1/2/3/4/5/6/7/8)

USARTy_STATR = USART STATus Register | Access base address 0x400***00 Offset address: 0x00
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
ReservedCTSLBDTXETCRXNEIDLEORENEFEPE
RORWORWORORWORWORORORORORO
00000000 00000000 00000000 00000000

CTS

CTSステータス変化フラグ(CTS status change flag)
CTSEビットがセットされている場合、nCTS出力ステータスが変化します。
このビットはソフトウェアによってクリアされます。
CTSIEビットがセットされている場合、割り込みが生成されます。
1 nCTSステータスラインが変化しました。
0nCTSステータスラインに変化はありません。

LBD

LIN切断検出フラグ(LIN break detection flag)
LIN切断が検出されると、このビットはハードウェアによってセットされます。
ソフトウェアによってクリアされます。
LBDIEビットがセットされている場合、割り込みが生成されます。
1LIN切断を検出。
0LIN切断を検出していない。

TXE

送信データレジスタ空フラグ(Transmission data register empty flag)
TDRレジスタのデータがハードウェアによってシフトレジスタに転送されると、このビットがハードウェアによってセットされます。
TXEIEビットがセットされている場合、割り込みが発生し、データレジスタにデータが書き込まれ、このビットはリセットされます。
1データはシフトレジスタに転送されています。
0データはシフトレジスタに転送されていません。

TC

送信完了フラグ(Transmission complete flag)
データを含むフレームが送信され、TXEビットがセットされている場合、ハードウェアはこのビットをセットします。
TCIEビットがセットされている場合は、対応する割り込みが生成されます。
ソフトウェアはこのビットを読み取り、データレジスタに書き込んでこのビットをクリアします。
また、直接0を書き込んでこのビットをクリアすることもできます。
1送信完了。
0送信未完了。

RXNE

リードデータレジスタが空でないことを示すフラグ(Read data register not empty flag)
シフトレジスタのデータがデータレジスタに転送されると、このビットはハードウェアによってセットされます。
RXNEIEビットがセットされている場合は、対応する割り込みが発生します。
このビットは、データレジスタへの書き込み操作によってクリアできます。
このビットは、直接0を書き込むことでもクリアできます。
1データが受信されており、読み出し可能です。
0データは受信されていません。

IDLE

アイドルラインフラグ(Idle line flag)
アイドルラインが検出されると、このビットはハードウェアによってセットされます。
IDLEIEビットがセットされている場合は、対応する割り込みが生成されます。
このビットは、ステータスレジスタを読み出してからデータレジスタを読み出すことでクリアできます。
1バスは現在アイドル状態です。
0アイドルバスは検出されていません。
注: このビットは、RXNEがセットされるまで再セットされません。

ORE

オーバーランエラーフラグ(Overrun error flag)
受信シフトレジスタにデータレジスタに転送する必要があるデータがあるが、データレジスタの受信フィールドにまだ読み出されていないデータがある場合、このビットがセットされます。
RXNEIEビットがセットされている場合、対応する割り込みが生成されます。
1オーバーランエラーが発生しました。
0オーバーランエラーは発生していません。
注:オーバーランエラーが発生した場合、データレジスタの値は失われませんが、シフトレジスタの値は上書きされます。
EIEビットがセットされている場合、マルチバッファ通信モードではOREフラグビットによって割り込みが生成されます。

NE

ノイズエラーフラグ(Noise error flag)
ノイズエラーフラグが検出されると、ハードウェアによってセットされます。
このビットは、ステータスレジスタを読み出してからデータレジスタを読み出すことでリセットできます。
1ノイズ検出。
0ノイズ未検出。
注:このビットは割り込みを生成しません。
EIEビットがセットされている場合、マルチバッファ通信モードではFEフラグビットが割り込みを生成します。

FE

フレームエラーフラグ(Frame error flag)
同期エラー、過度のノイズ、または切断が検出されると、このビットがハードウェアによってセットされます。
このビットは、このビットを読み出した後、データレジスタを読み出すことでリセットできます。
1フレームエラーが検出されました。
0フレームエラーは検出されていません。
注:このビットは割り込みを生成しません。
EIEビットがセットされている場合、マルチバッファ通信モードではFEフラグビットによって割り込みが生成されます。

PE

パリティエラーフラグ(Parity error flag)
受信モードでパリティエラーが発生すると、このビットはハードウェアによってセットされます。
このビットは、このビットを読み出した後、データレジスタを読み出すことでリセットできます。
このビットをクリアする前に、ソフトウェアはRXNEフラグビットがセットされるのを待つ必要があります。
PEIEビットが以前にセットされている場合、このビットがセットされたときに対応する割り込みが生成されます。
1パリティチェックエラー発生。
0パリティチェックエラーなし。


18.10.2 USARTデータレジスタ(USARTy_DATAR)(y=1/2/3/4/5/6/7/8)

USARTy_DATAR = USART data register | Access base address 0x400***00 Offset address: 0x04
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
ReservedDR
RORW
00000000 00000000 0000000X XXXXXXXX

DR

データレジスタ(Data register)
このレジスタは実際には受信データレジスタ(RDR)と送信データレジスタ(TDR)の2つのレジスタで構成されています。
DRの読み書き操作は、受信データレジスタ(RDR)の読み出しと送信データレジスタ(TDR)への書き込みから始まります。


18.10.3 USART ボーレート レジスタ (USARTy_BRR) (y=1/2/3/4/5/6/7/8)

USARTy_BRR = USART baud rate register | Access base address 0x400***00 Offset address: 0x08
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
ReservedDIV_MDIV_F
RORWRW
00000000 00000000 00000000 00000000

DIV_M

これらの12ビットはUSART分周器の仮数部を定義します。(These 12 bits define the mantissa of the USART divider)

DIV_F

これらの4ビットはUSART分周器の分数を定義します。(These 4 bits define the fraction of the USART divider)


18.10.4 USART制御レジスタ1 (USARTy_CTLR1) (y=1/2/3/4/5/6/7/8)

USARTy_CTLR1= | Access base address 0x400***00 Offset address: 0x0C
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
Reserved UEMWAKEPCEPSPEIE TXEIETCIERXNEIEIDLEIETERERWUSBK
RO RWRWRWRWRWRW RWRWRWRWRWRWRWRW
00000000 00000000 00000000 00000000

UE

USART 有効ビット(USART enable bit)
このビットが設定されると、現在のバイト送信が完了した後、USART の周波数分周器と出力は両方とも動作を停止します。
1USARTを使用する。
0USARTを停止する。

M

ワード長ビット(Word length bit)
19データビット。
08データビット。

WAKE

ウェイクアップビット(Wake-up bit)
このビットはUSARTのウェイクアップ方法を決定します。
1アドレスフラグ。
0アイドルライン。

PCE

パリティ制御の有効化(Parity control enable)
受信側ではデータのパリティが実行されます。
送信側ではチェックビットが挿入されます。
このビットがセットされると、パリティ制御の有効化は現在のバイトの送信が完了した後にのみ有効になります。

PS

パリティ選択(Parity selection)
1奇数パリティ
0偶数パリティ
このビットが設定されると、パリティ制御の有効化は現在のバイト送信が完了した後にのみ有効になります。

PEIE

パリティチェック割り込み許可ビット(Parity check interrupt enable bit)
このビットがセットされている場合、パリティチェックエラー割り込みの発生が許可されます。

TXEIE

送信バッファ空割り込み有効(Transmit buffer empty interrupt enable)
このビットが設定されている場合、送信バッファ空割り込みの生成が許可されます。

TCIE

送信完了割り込み許可(Transmission completion interrupt enable)
このビットがセットされている場合、送信完了割り込みの発生が許可されます。

RXNEIE

受信バッファ非空割り込み有効(Receive buffer non-empty interrupt enable)
このビットが設定されている場合、受信バッファ非空割り込みが生成されるようになります。

IDLEIE

アイドル ライン割り込みの有効化(Idle line interrupt enable)
このビットが設定されている場合、アイドル ライン割り込みの生成が許可されます。

TE

送信機の有効化(Transmitter enable)
このビットが設定されている場合、送信機は有効化されます。

RE

受信機の有効化(Receiver enable)
このビットが設定されると、受信機が有効になり、受信機はRXピン上のスタートビットの検出を開始します。

RWU

レシーバのウェイクアップ(Receiver wake-up)
このビットは、USARTがミュートモードかどうかを決定します。
1レシーバはミュートモードです。
0 レシーバはアクティブモードです。
注1: RWUビットがセットされる前に、USARTはまずデータバイトを受信する必要があります。
そうしないと、ミュートモード時にアイドルバスによってウェイクアップできません。 注2: アドレスフラグからのウェイクアップに設定されている場合、RXNEがセットされている間は、RWUビットをソフトウェアで変更することはできません。

SBK

ブレーク文字送信制御ビット(Send break character control bit)
このビットは、フレームブレーク文字を送信する場合にセットされます。
ブレークフレームのストップビットは、ハードウェアによってセットされます。
1ブレーク文字を送信する。
0ブレーク文字を送信しない。


18.10.5 USART制御レジスタ2 (USARTy_CTLR1) (y=1/2/3/4/5/6/7/8)

USARTy_CTLR2 = USART control register2 | Access base address 0x400***00 Offset address: 0x10
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
Reserved LINENSTOPCLKENCPOLCPHALBCL ReservedLBDIELBDLReservedADD
RO RWRWRWRWRWRW RORWRWRORW
00000000 00000000 00000000 00000000

LINEN

LINモード有効ビット(LIN mode enable bit)
このビットがセットされると、LINモードが有効になります。
LINモードでは、SBKビットを使用してLIN同期切断シンボルを送信し、LIN同期切断シンボルを検出できます。

STOP

ストップビット設定(Stop bit setting)
これらのビットはストップビットを設定するために使用されます。
001ストップビット
010.5ストップビット
102ストップビット
111.5ストップビット

CLKEN

クロックイネーブル(Clock enable)
このビットはCKピンをイネーブルするために使用されます。
1イネーブル
0 ディセーブル

CPOL

クロック極性設定ビット(Clock polarity setting bit)
同期モードでは、このビットを使用してSLCKピンのクロック出力の極性を選択し、CPHAと連携して必要なクロック/データサンプリング関係を生成します。
1バスがアイドル状態のとき、CKピンはHighレベルを維持します。
0バスがアイドル状態のとき、CKピンはLowレベルを維持します。
注:送信を有効にした後、このビットを変更することはできません。

CPHA

クロック位相位置設定ビット(Clock phase position setting bit)
同期モードでは、このビットを使用してSLCKピンのクロック出力の位相位置を選択し、CPOLビットと組み合わせて必要なクロック/データサンプリング関係を生成できます。
1データキャプチャはクロックの2番目のエッジで実行されます。
0データキャプチャはクロックの1番目のエッジで実行されます。
注:送信を有効にした後は、このビットを変更できません。

LBCL

最終ビットクロックパルス制御ビット(Last bit clock pulse control bit)
同期モードにおいて、CKピンから送信された最後のデータバイトに対応するクロックパルスを出力するかどうかを制御します。
1データの最終ビットのクロックパルスはCKから出力されません。
0データの最終ビットのクロックパルスはCKから出力されます。
注:送信を有効にした後は、このビットを変更できません。

LBDIE

LINブレーク文字検出割り込みイネーブル(LIN break character detection interrupt enable)
このビットは、LBDによって発生する割り込みをイネーブルにできます。

LBDL

LINブレークキャラクタ検出長(LIN break character detection length)
11ビットまたは10ビットのブレークキャラクタ検出を選択します。
111ビットブレーク検出。
010ビットブレーク検出。

ADD

USARTノードのアドレス(Address of the USART node)
デバイスのUSARTノードアドレスを設定するために使用されます。
マルチプロセッサ通信でミュートモード中にデータが使用される場合、アドレスフラグは特定のUSARTデバイスをウェイクアップするために使用されます。


18.10.6 USART制御レジスタ3 (USARTy_CTLR3) (y=1/2/3/4/5/6/7/8)

USARTy_CTLR3 = USART control register3 | Access base address 0x400***00 Offset address: 0x14
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
Reserved CTSIECTSERTSE DMATDMARSCENNACKHDSELIRLPIRENEIE
RO RWRWRW RWRWRWRWRWRWRWRW
00000000 00000000 00000000 00000000

CTSIE

CTSIE割り込み有効ビット(CTSIE interrupt enable bit)
このビットが設定されている場合、CTSがセットされたときに割り込みが生成されます。

CTSE

CTS 有効ビット(CTS enable bit)
このビットが設定されている場合、CTS フロー制御が有効になります。

RTSE

RTS 有効ビット(RTS enable bit)
このビットが設定されている場合、RTS フロー制御が有効になります。

DMAT

DMA送信有効ビット(DMA transmission enable bit)
このビットが設定されると、DMA送信モードが有効になります。

DMAR

DMA受信有効ビット(DMA reception enable bit)
このビットが設定されると、受信用のDMAモードが有効になります。

SCEN

スマートカード モード有効ビット(Smartcard mode enable bit)
このビットが設定されている場合、スマートカード モードが有効になります。

NACK

スマートカードNACK有効ビット(Smart card NACK enable bit)
このビットが設定されている場合、チェックエラーが発生したときにNACKが送信されます。

HDSEL

半二重モード選択ビット(Half-duplex mode selection bit)
このビットが設定されている場合、半二重モードが選択されます。

IRLP

赤外線低電力選択ビット(Infrared low power selection bit)
このビットが設定されると、低電力モードが選択されます。

IREN

赤外線有効ビット(Infrared enable bit)
このビットが設定されると、赤外線モードが有効になります。

EIE

エラー有効割り込みビット(Error enable interrupt bit)
このビットが設定され、DMARも設定されている場合に、FE、ORE、またはNEビットが設定されていれば割り込みが生成されます。


18.10.7 USARTガードタイムおよび分周レジスタ(USARTy_GPR)(y=1/2/3/4/5/6/7/8)

USARTy_GPR = USART Guard time and Prescaler Register | Access base address 0x400***00 Offset address: 0x18
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
ReservedGTPSC
RORWRW
00000000 00000000 00000000 00000000

GT

ガードタイムドメイン(Guard time domain)
これらのビットは、ボーレートクロック単位でガードタイムを指定します。
スマートカードモードでは、ガードタイムが経過すると送信完了フラグがセットされます。

PSC

プリスケーラ領域(Prescaler domain)
赤外線低消費電力モードでは、ソースクロックはこの値で分周されます(8ビットすべてが有効)。
値0は予約を意味します。 赤外線通常モードでは、これらのビットは1にのみ設定できます。
スマートカードモードでは、値(下位5ビットが有効)を2倍にしてソースクロック周波数の分周係数を算出し、スマートカードにクロックを供給します。
値0は予約を意味します。






































更新日 2026/01/10 15:04  管理者 平林 剛Hirabayashi Takeshi