본문 바로가기

WCH/CH32V003

CH32V003 - VS Code를 이용한 PIO(PlatformIO) 개발환경 설정

저렴한 CH32V003은 다양한 개발 환경을 제공한다. VS Code 에서 PIO(PlatformIO) 개발환경으로 컴파일 가능하다고 해서 테스트 해 보았다.

 

우선 VS Code PlatformIO설정에서 Advancde platform installation으로 CH32V 를 install 해 주어야 한다.

https://github.com/Community-PIO-CH32V/platform-ch32v.git 를  추가 해주면 된다.

 

정상 인스톨 되면 결과 화면을 볼 수 있다.

 

 

새로운 프로젝트를 생성한다.

 

 

알맞은 칩셋(보드)를 선택하고 Framework를 설정해서 새로운 프로젝트를 생성할 수 있다.

 

 

간단히 기본 예제를 생성하고 동작 테스트를 해 보자.

#include "debug.h"


void GPIO_Toggle_INIT(void)
{
    GPIO_InitTypeDef GPIO_InitStructure = {0};

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOC, &GPIO_InitStructure);
}


int main(void)
{
    u8 i = 0;

    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    Delay_Init();
    USART_Printf_Init(115200);
    printf("SystemClk:%d\r\n", SystemCoreClock);

    printf("GPIO Toggle TEST\r\n");
    GPIO_Toggle_INIT();

    while(1)
    {
        Delay_Ms(250);
        GPIO_WriteBit(GPIOC, GPIO_Pin_1, (i == 0) ? (i = Bit_SET) : (i = Bit_RESET));
        //GPIOD->BSHR = GPIO_Pin_4;
        //GPIOD->BCR = GPIO_Pin_4;
    }
}

 

 

이후 기본 env 파일에서 라이브러리 등을 추가해서 사용할 수 있다.

[env:genericCH32V003F4U6]
platform = ch32v
board = genericCH32V003F4U6
framework = noneos-sdk

 

 

VS Code를 이용하면 여러 다양한 장점들이 있으니 CH32V003 개발환경으로 사용하기 좋은것 같다.

반응형