今回は、50円のRISC-VマイコンのCH32V003F4P6のUART設定を調べます。

解れば簡単なんだけど、マニュアルが何かいているかわからなくて最初は悩みました。

そういうこともあり、調べた内容を残しておきます。

 

 

UARTは動作速度の設定が有るので、まずは、クロック設定周りを整理してから進みます。下の図に書き込みをしてみました。内部の高速クロックHIS(24MH)を利用し、PLLで2倍でSYSCLK(48MHz)としました。そして、AHB Prescaler(x1)選択で、AHB48MHzで動作させています。

 

 

それでは、サンプルコードのUARTを使うための設定をみていきます。

 

1.周辺クロックを有効に

最近の組み込みマイコンは低消費電力を実現するために、使用しない周辺のクロックは止めてしまう事が多いです。CH32Vシリーズも同様の構成になっています。

ここでは、GPIODとUSART1のクロックを有効にします。

初期値は0なので、これを設定しないとUARTを動かすことはできません。
 

 

 

2.PD5の設定をUARTに設定する。

CH32V003F4P6は複数の機能が同一ピンに割当てされています。

そのため自分が使いたい機能が使えるように設定が必要です。

マニュアルに記載があり、USARTx_TXを使う場合には、Push-pull multiplexed outputsを選ぶように書いてあります。

 

3+4.UARTの設定をして、起動

 

 

 

 

あと最後ボーレートはマニュアルが最初は全く理解できませんでした。

マニュアルは72MHzの動作での数字が書いてい有るので、まったく理解できませんでした。

このBRRの設定は、

BRR(Baud Rate Register)=HCLK/(16*USARTDIV)で設定となるため、

HCLK=48000000, BRR=115200で計算する問い、USARTDIVは26.04…となります。整数部をDIV_Mantissaで設定し、小数点を1/16単位でDIV_Fractionに設定となります。

解れば簡単。。。

 

今回はサンプルもあったので、マニュアルで理解できない部分を補完できました。

なければかなりの長時間悩んだと思います。