0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CH32V003,203をplatformIO環境で開発する

0
Last updated at Posted at 2026-07-22

初投稿です。適当です。

初めに

ch32vの開発はArduinoIDEでもできるが、容量をとても食うので(Lチカで50%程占有)
そのため、公式が出しているCH32Vの開発環境であるmounriver(2)か、mounriver(2)とだいたい同じ感覚で使える。platformIOでの開発がいい気がする。

書き込み機(WCHLink-E)のドライバーについて

  • 書き込み機であるWCH-LINK-E用のドライバーの入手。ドライバーだけはないので、入手するには
    https://www.wch.cn/downloads/WCH-LinkUtility_ZIP.html
    ここの公式サイトから WCH-LinkUtilityソフトごとダウンロードする必要がある。
    おそらく、
    ダウンロードしたフォルダには、WCH-LINK-Eのドライバや、WCH-LINK-Eの設定を行うソフトが入ってる。
    フォルダの中にある「WCHLinkDrv_WHQL_S.exe」がドライバの本体
    image.png
    スクリーンショット 2026-07-23 013859.png
    クリックするとUAC画面が出て、インストールウィザードも出ないが、デバイスマネージャーを見て、WCH-LINK-Eをつないで認識されていればOK
    ※新しく買ったWCH-LINK-Eとかだと、WCH-LINK-Eのモードを WCH-LinkUtilityソフトから変更しなきゃかも、記事下の参考サイトとか参照して

platformIOでの設定

  • VSCODE、platformIOの導入はググって

  • gitをふつーにダウンロードする
    Git - Install for Windows
    インストール画面は全部てきとうに進めていい。ダウンロードする事が目的だからこれでいいのだ

  • 参考サイト(Installation — PIO CH32V 0.1 documentation )の通りに、「Advanced installation」して、https://github.com/Community-PIO-CH32V/platform-ch32v.git
    を打ち込んでinstalをクリック。gitが入ってない的なエラー出たら上のgitのダウンロードがちゃんとできてるか確認
    スクリーンショット 2026-07-23 001229.png

読み込みで2分くらいしても読み込み中とかならいったん閉じたりしてもう一度やったりするると、インストール成功になったりならなかったり
スクリーンショット 2026-07-18 024003.png スクリーンショット 2026-07-18 025217.png
Platform has been successfully installed!の表示が出たら成功。完璧ならいろんな項目のインストールが成功したログが長く続く
スクリーンショット 2026-07-18 025406.png
「platforms」の画面でこのように「WCH CH32V」表示が出てたら成功

ファイル構成

mounriver2と異なる点として、ファイル構成とか初期設定がある。
ファイル構成はスクショの通り、なんか基本main.cや自分で作ったファイル,ヘッダファイルはsrc内でいいっぽい
スクリーンショット 2026-07-18 033307.png

プロジェクトの設定(例:CH32V203K8T6)

Platformio.iniで色々設定する必要がある
スクリーンショット 2026-07-18 041318.png

[env:genericCH32V203K8T6]
platform = ch32v
board = genericCH32V203K8T6
framework = noneos-sdk
;ここまではプロジェクト作成時点で記入されている

board_build.clock_source = hsi+pll
board_build.f_cpu = 144000000L
build_flags = -DDEBUG=DEBUG_UART2

board_build.cpp_support = yes

・board_build.clock_source:[記述必須!]内部クロック使うか外部クロック使うか決める
基本hsi+pll使う。水晶発振子外付けするならhse
参考...クロックソース構成 — PIO CH32V 0.1 ドキュメント
・board_build.f_cpu:[記述必須!]クロック周波数。ch32Vのシリーズによって使える周波数は違う
ch32V003は最大48Mhz。ch32V203は最大144Mhz。基本最大クロックで使う
・build_flags = -DDEBUG=DEBUG_UART○○ :シリアルモニタでデバッグするためのチャンネル指定。-DDEBUGとDEBUG_UART○○とその間の=の部分はスペースを入れてはだめ。エラーになる
通常だとUSART1を使う事になるが、USART1のピンを他の機能で使う時にUART2などにする。どのピンがどのUARTチャンネルかはデータシート見て
・board_build.cpp_support:デフォルトはCのみの対応。C++を使うときはyesにする

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?