一、概述
具体看图,SOP8价格在0.6R,TSSOP20价格在0.7R,优势太大了
二、开发准备
- 通过原厂可以拿到样片,目前我拿到这颗是SOP8,另外官方淘宝可以买到TSSOP20的测试板,也带样片
- 购买
WCHLINK
,TB搜索一下就可以找到,大概10-14的样子 - 官网地址:https://www.wch.cn/products/CH32V003.html
- 下载IDE:http://www.mounriver.com/
- 下载例子:https://www.wch.cn/downloads/CH32V003EVT_ZIP.html
- 规格书:https://www.wch.cn/downloads/CH32V003DS0_PDF.html
- 用户手册:https://www.wch.cn/downloads/CH32V003RM_PDF.html
三、开发注意点
- SOP8封装,是不带硬件SPI的,手册描述有误
- SOP8封装,下载线与TX线,是复用的,若使用串口,最好上电加一下延迟,防止下次不可烧录
四、开发流程
这里以串口收发为例子
-
接好板子
3根线
,2脚GND,4脚VCC,8脚SWIO
-
安装IDE后,可以直接打开项目工程,工程位置:
CH32V003EVT\EXAM\USART\USART_Polling
-
设置内置 48M
-
加入上电延迟,并且修改一下程序
(1).这里的USART_Printf_Init
里面对PD6没有定义,我们只用USARTx_CFG
即可
(2).源码中回显的是取反的串口数据,这里改成直接回环int main(void) { NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); Delay_Init(); Delay_Ms(2000); //USART_Printf_Init(9600); USARTx_CFG(); printf("SystemClk:%d\r\n",SystemCoreClock); while(1) { while(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET) { /* waiting for receiving finish */ } val = (USART_ReceiveData(USART1)); USART_SendData(USART1, val); while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET) { /* waiting for sending finish */ } } }
-
按下
F7
编译,按下F8
下载 -
取下
SWIO(8脚)
插入串口的RX
,插入串口的TX (1脚
-
串口115200回环成功