본문 바로가기

WCH/CH32V003

(7)
CH32V003 SSM - Arduino PWM 테스트 Adruino 환경에서 PWM도 정상 동작하지 않는다. CH32V003 Arduino ADC테스트 에서와 같이 variant_CH32V003F4.h 파일을 확인해 보니 TIM_MODULE_ENABLED가 설정되어 있지 않다. Enable 하고 컴파일 하면 에러가 발생한다. pwm_start() 함수에서 TimerCompareFormat_t 가 정의 되어 있지 않다고 한다. C:\Users\jhpark\AppData\Local\Temp\arduino\sketches\0CFD1DECB3444CB36B9C51B7C2E4C6C8\sketch\AnalogInOutSerial.ino.cpp:1: C:\Users\jhpark\AppData\Local\Arduino15\packages\WCH\hardware\ch32v..
CH32V003 SSM - Arduino ADC 테스트 새로운 칩에 대해서 테스트 하다 잘 안되는 사항이 있으면 기록하면서 정리 해봐야 겠다. ADC는 가장 기본이 되는 부분인데 정상 동작을 하지 않는다. variant_CH32V003F4.h 파일을 보면 디폴트로 ADC Module이 Enable 되저 있지 않다. /* ENABLE Peripherals */ //#define ADC_MODULE_ENABLED #define UART_MODULE_ENABLED // #define SPI_MODULE_ENABLED #define I2C_MODULE_ENABLED CH32V003의 ADC는 10비트 이고 ADC핀은 아래와 같이 할당되어 있다. /* CH32V003F4 Pins */ #define PA1 PIN_A1 #define PA2 PIN_A0 #define ..
CH32V003 SSM - Arduino SPI테스트 CH32V003 Arduino 개발환경 테스트에서 확인 결과 디폴트로 SPI가 disable 되어 있다. CH32V003 Aduino 환경에서 CH32V003의 SPI 제어를 하려면 먼저 Variant (\AppData\Local\Arduino15\packages\WCH\hardware\ch32v\1.0.3\system\) 파일에서 SPI_MODULE_ENABLE 설정을 해 주어야 한다. /* ENABLE Peripherals */ // #define ADC_MODULE_ENABLED #define UART_MODULE_ENABLED #define SPI_MODULE_ENABLED #define I2C_MODULE_ENABLED // SPI definitions #ifndef PIN_SPI_SS #def..
CH32V003 SSM - Arduino 개발환경 설정 및 MCU 성능 테스트 CH32V003은 RISC-V 코어로 다양한 라이브러리를 제공하는 Arduino 환경도 지원하고 있다. 저렴한 중국 칩이지만 나름 개념 있게 만들고 있는것 같다. 물론 아직 몇가지 지원이 안되는 라이브라리가 있는 것이 아쉬운점이긴 하지만...( 테스트 해본 결과 V1.03 기준으로 I2C, PWM은 정상 동작을 하지 않는것 같다.) 우선 하기 사이트에서 Arduino Core Code를 제공한다. GitHub - openwch/arduino_core_ch32: Core library for CH32duino GitHub - openwch/arduino_core_ch32: Core library for CH32duino Core library for CH32duino. Contribute to openwc..
CH32V003 SSM - SPI DMA 동작 테스트 소형 MCU에서 가장 많이 사용하는 페리는 SPI가 아닐까? CH32V003에서 SPI 동작 테스트를 해 보자. CH32V003 SSM EVM 보드에서 SPI는 PC5, PC6, PC7에 할당 되어 있다. CH32V003의 SPI 최대 클럭 속도는 24Mhz로 STM32F030 SPI 클럭속도 보다 더 빠르다. CH32V003의 SPI 기본 동작 테스트 코드 int main(void) { u8 i; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); Delay_Init(); USART_Printf_Init(115200); printf("SystemClk:%d\r\n",SystemCoreClock); #if (SPI_MODE == SLAVE_MODE) printf("SLA..
CH32V003 SSM - 개발환경(MounRiver) 설정 및 MCU 성능 테스트 저렴하고 성능 좋은 MCU들이 많이 출시되고 있지만 새로운 개발환경을 구축하기가 힘들어 쉽게 바꾸지 못한다. 그런 측면에서 WCH의 CH32V는 RISC-V 코어로 다양한 개발환경을 지원하고 있다. 개발 환경 IDE는 RISC-V 용 mounriver를 사용하면 된다. http://www.mounriver.com/ 테스트 예제코드 https://github.com/openwch/ch32v003 https://github.com/Community-PIO-CH32V/platform-ch32v GitHub - Community-PIO-CH32V/platform-ch32v: PlatformIO platform for CH32V RISC-V chips (CH32V003, CH32V103, CH32V20x, CH3..
CH32V003 SSM - 100원대(10Cent) MCU CH32V003 보드 제작 WCH에서 저렴한 10Cent MCU로 선전하며 CH32V003를 출시하고 있다. 100원대 MCU라니... 너무 한거 아닌가? 스펙상 성능도 나쁘지 않다. RISC-V코어에 2KB SRAM, 16KB 플래시를 갖춘 48MHz 클럭의 MCU이다. CH32V003를 테스트 할 수 있는 보드를 표준 핀맵의 SSM Type 형태로 제작해 보았다. 내가 생각하는 가장 큰 장점은 사이즈가 작다. CH32V003F4U6의 경우 3mm x 3mm 사이즈로 정말 작다. 외부 크리스탈 없이 작은 페키지로 다양한 어플리케이션에 간단히 사용하기 좋을것 같다. 그리고 CH32V003J4M6는 8핀 패키지로 제공되어 있다.

반응형