keiske-hongyoのアイコン画像
keiske-hongyo 2024年12月31日作成 © CC BY-NC-SA 4+
セットアップや使用方法 セットアップや使用方法 Lチカ Lチカ 閲覧数 156
keiske-hongyo 2024年12月31日作成 © CC BY-NC-SA 4+ セットアップや使用方法 セットアップや使用方法 Lチカ Lチカ 閲覧数 156

CH32V203K8T6の動作確認(Lチカプログラム作成)

CH32V203K8T6の動作確認(Lチカプログラム作成)

初めに

最近、秋月電子で販売されているCH32Vシリーズが格安であったのでどのようなものか興味を持ちました、今回秋月電子で販売している3種類を購入し、1番ピン数が多く、使いやすいCH32V203を使用することにしました。Arduinoにして使用もできるのですが、今回はWCH社が出している公式SDKを使用するのでC言語でプログラムを作成することにしました。

実験回路

動作確認回路は下の図になります。プログラムを書き込むにはWCH-LinkEエミュレータを使用し、WCH-LinkEエミュレータのSWDIOとSWCLKをCH32V203に接続して書き込みを行います。
動作回路図

プログラム開発環境

プログラムの作成にはVisual Studio Codeを使用し、拡張機能としてPlatoformIOをインストールをし、CH32V が利用できるように設定をしてプログラムを開発しました。PlatoformIOインストールやPlatformIOでCH32Vを利用するための設定については、いろいろな方が紹介しているのでインターネットで検索してください。
 PlatformIOをインストールし、CH32Vの開発ができる設定が終了したら、プロジェクトを作成してください。プロジェクト名を入力し、使用するCPUをch32v203K8T6、FrameworkをNoneos-sdkにして作成してください。 
プロジェクトの作成
次のプログラムを作成して書き込みます。

LED点滅プログラム

/* CH32V203 GPIO test Sample Program */ #include "debug.h" #define SYSTICK_ONE_MILLISECOND ((unsigned int)SystemCoreClock / 1000) #define SYSTICK_ONE_MICROSECOND ((unsigned int)SystemCoreClock / 1000000) /* GPIO 初期設定 */ void IO_Init() { GPIO_InitTypeDef GPIO_InitStructure={0}; /* GPIOA 使用設定 */ RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA , ENABLE ); /* PA10を出力に設定 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init( GPIOA, &GPIO_InitStructure ); } /* メインプログラム */ int main(void) { unsigned char flg; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); SystemCoreClockUpdate(); Delay_Init(); USART_Printf_Init(9600); printf("SystemClk:%ld\r\n", SystemCoreClock); printf( "ChipID:%08lx\r\n", DBGMCU_GetCHIPID() ); /* 出力ポート設定 */ IO_Init(); flg = 0x00; while(1){ GPIO_WriteBit(GPIOA, GPIO_Pin_10,(flg & 0x01)); flg = (~flg) & 0x01; Delay_Ms(100); } }

最後に

今回はCH32V203の開発環境を構築し、動作の確認をしました。公式のSDKの使い方がわからず、いろいろと調べることが多かったですが、どうにかどうさせることができました。もう少し、調べて周辺機器の動作プログラム作成していきたいと思います。

keiske-hongyoのアイコン画像
マイコンを活用した電子工作に取り組んでいます。 もしよかったら、色々とアドバイスをいただけたらと思います。
ログインしてコメントを投稿する