一、概述

具体看图,SOP8价格在0.6R,TSSOP20价格在0.7R,优势太大了
在这里插入图片描述

二、开发准备

  1. 通过原厂可以拿到样片,目前我拿到这颗是SOP8,另外官方淘宝可以买到TSSOP20的测试板,也带样片
  2. 购买WCHLINK,TB搜索一下就可以找到,大概10-14的样子
  3. 官网地址:https://www.wch.cn/products/CH32V003.html
  4. 下载IDE:http://www.mounriver.com/
  5. 下载例子:https://www.wch.cn/downloads/CH32V003EVT_ZIP.html
  6. 规格书:https://www.wch.cn/downloads/CH32V003DS0_PDF.html
  7. 用户手册:https://www.wch.cn/downloads/CH32V003RM_PDF.html

三、开发注意点

  1. SOP8封装,是不带硬件SPI的,手册描述有误
  2. SOP8封装,下载线与TX线,是复用的,若使用串口,最好上电加一下延迟,防止下次不可烧录

四、开发流程

这里以串口收发为例子

  1. 接好板子3根线,2脚GND,4脚VCC,8脚SWIO
    在这里插入图片描述

  2. 安装IDE后,可以直接打开项目工程,工程位置:CH32V003EVT\EXAM\USART\USART_Polling
    在这里插入图片描述

  3. 设置内置 48M
    在这里插入图片描述

  4. 加入上电延迟,并且修改一下程序
    (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 */
            }
        }
    }
    
  5. 按下F7编译,按下F8下载

  6. 取下SWIO(8脚)插入串口的RX,插入串口的TX (1脚

  7. 串口115200回环成功
    在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐