본문 바로가기

분류 전체보기

(1955)
CH32V307 SM - Arduino 만들기 CH32V307 개발환경을 위해 Arduino Core Code도 제공된다. https://github.com/openwch/arduino_core_ch32 Arduino Board 파일을 설치 먼저 보드 메이저에서 URL을 등록해 준다. https://github.com/openwch/board_manager_files/raw/main/package_ch32v_index.json 이후 CH32를 검색하면 CH32 MCU EVT Board를 설치 할 수 있다. 설치 완료후 Board 파일에서 CH32V30x를 선택하면 된다.
CH32V307 SM - SPI, SPI DMA 테스트 CH32V307은 3개의 SPI가 있고 최대 36Mhz 로 구동된다. CH32V307의 SPI 기본 동작 테스트 코드 void SPI_FullDuplex_Init(void) { GPIO_InitTypeDef GPIO_InitStructure={0}; SPI_InitTypeDef SPI_InitStructure={0}; RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_SPI1, ENABLE ); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; G..
CH32V307 개발환경 설정 및 GPIO 성능 테스트 CH32V307는 저렴하면서 Ethernet PHY 칩을 내장한 MCU로 Ethernet이 필요한 여러 어플리케이션에 적용하기 좋을것 같다. 우선 개발환경은 RISC-V 코어로 MounRiver용 예제코드를 사용하면 된다. 예제코드 https://github.com/openwch/ch32v307 GPIO 제어 예제 코드를 수정해서 GPIO 레지스터를 제어 해보자 MCU 성능 측정에 있어 GPIO 토글 속도를 측정하는 이유는 FTFLCD 제어 속도 테스트와 같은 GPIO로 제어 하는 주변 장치를 사용할 때 주요 성능 지표가 되기 때문이다. void GPIO_Toggle_INIT(void) { GPIO_InitTypeDef GPIO_InitStructure = {0}; RCC_APB2PeriphClockCm..
CH32V307 SM - Mini Ethernet 보드 제작 WCH사의 MCU는 저렴함(100원대 MCU)을 강점으로 RISC-V 코어 MCU를 많이 출시 하고 있다. 그중에서도 CH32V307과 같이 특이한 칩이이 있어 SM-Type EVM 형태의 표준 핀맵으로 제작해 보았다. CH32V307RCT6은 64핀의 작은 페키지 임에도 불구하고 Ethernet PHY가 내장되어 있다. 외부에 Ethernet PHY칩을 붙이지 않아도 아주 작고 간단하게 이더넷을 구현할 수 있다. 물론 내장 PYH는 10M로 동작해서고속의 데이터 전송은 어려울것 같다. 100M PHY를 지원 한다면 정말 좋았을것 같은데... 하는 아쉬움이 있다. 외부 PYH를 연결하면 Gibit 전송도 가능하다고 한다. 그리고 USB High Speed PHY가 내장되어 있어 고속 USB를 지원 하한다..
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..

반응형