CH32V203F6P6-TSSOP20测试之02---点灯成功
一、问题思考
直接用官方提供的例程,为何下载程序后没有什么响应,难道自己设计的电路有什么不妥?
于是,对于电路进行具体分析,结果发现:
第一、官方的BOOT0采用杜邦线连接,在芯片手册好像找不到关于BOOT0的叙述,仅仅在《CH32V20x评估板说明书》中看到:

也就是说,这芯片要烧录时BOOT0必须接VCC,运行程序时BOOT0必须接GND。
因此可以确定,个人设计的线路欠佳,于是只能将原来的轻触SW1改为单刀开关:

目前线路板只能改成这样了

烧录方式也改成二线调试模式,使用WCH-LINK下载。
第二、官方设计的开发板采用外部晶振,而个人设计的线路没有外接晶振,所以必须启用内部晶振才能使芯片正常工作!
二、程序测试
1、修改失败
现在最紧要的是进行程序测试,将官方的程序CH32V20xEVT\EXAM\GPIO\GPIO_Toggle从程序库提取出来,编译结果总是提示debug.h等头文件链接出现问题,查看项目属性,觉得也没有发现什么不妥。

2、重建工程
于是只能自己新建项目,幸好这MRS新建项目比起Keil方便得多多。
方法也简单,即点击“文件”--“工程”,选择对应的芯片型号和设置工程存放的路径,点击“完成”,随即完成工程的创建!

3、修改代码
因为个人设计的线路没有外接晶振,所以需要启用芯片内部晶振,方法也没有简单,只须把system_ch32v20x.c中的
#define SYSCLK_FREQ_96MHz_HSE 96000000

改成
#define SYSCLK_FREQ_96MHz_HSI 96000000

为测试引脚功能,需要在主程序中复制官方代码中的引脚初始化代码到主程序:
void GPIO_Toggle_INIT(void) { GPIO_InitTypeDef GPIO_InitStructure = {0}; RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); GPIO_PinRemapConfig(GPIO_Remap_PD01,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOD, &GPIO_InitStructure); }
int main(void)要添加变量定义
u8 i=0;
和在
printf("This is printf example\r\n");
之后调用
GPIO_Toggle_INIT();
大循环中添加引脚翻转代码:
Delay_Ms(1000); GPIO_WriteBit(GPIOD, GPIO_Pin_0, (i == 0) ? (i = Bit_SET) : (i = Bit_RESET));
三、点灯成功
上述代码修改完成后,点击编译和下载,板子上的LED灯亮起来了
https://www.bilibili.com/video/BV1c66XYZEDD/
这是通过串口2打印的信息:

2025.1.1
欢迎关注本人公众号,了解更多。

CH32V203F6P6-TSSOP20测试之02---点灯成功的更多相关文章
- esp8266 esp01s wifi继电器 初步点灯成功!艰难的历程啊,期间差点烧了
0x00 前言说明 放假这几天,在淘宝买了esp01s,和一个搭配esp01s的wifi继电器准备做一些IOT(物联网)实验,踩了不少的坑,总算是点灯成功了!下面记录一些实验的拍照吧~ 继电器参数说明 ...
- 预备作业02:成功经验与C语调查20155230
成功的经验 在写这一次的博客之前,我看了一部分同学所写的博客.因为我不懂关于自己更优秀的技能这一栏要怎么写,所以想要去找能以借鉴的东西.看完发现,这些同学在介绍自己技能时更多的是写自己在某一领域的成就 ...
- python模块引用问题(比较杂乱,懒得整理)
1 在stackoverflows摘抄 If the import module in the same dir, use e.g: from . import core If the import ...
- 微冷的雨ASP.NET MVC之葵花宝典(MVC)
微冷的雨ASP.NET MVC之葵花宝典 By:微冷的雨 第一章 ASP.NET MVC的请求和处理机制. 在MVC中: 01.所有的请求都要归结到控制器(Controller)上. 02.约定优于配 ...
- C# socket通信
最近在研究socket,今天看到很好的一篇关于socket通信的文章,故收藏了,慢慢琢磨. 我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念: 1.TCP/IP层次模型 当然这里 ...
- C# Socket网络编程精华篇(转)
我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念: TCP/IP层次模型 当然这里我们只讨论重要的四层 01,应用层(Application):应用层是个很广泛的概念,有一些基本 ...
- 嵌入式Linux系统Bootloader启动调试技术(回想)
嵌入式系统搭建过程中,对于系统平台搭建project师最初的一步一般是移植Bootloader ,当然移植有几个级别,通常最常见的是參考的EVM 的硬件有了改动(如更改了FLASH ,更改了SDRAM ...
- [非技术参考]C# Socket网络编程
我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念: 1. TCP/IP层次模型 当然这里我们只讨论重要的四层 01,应用层(Application):应用层是个很广泛的概念,有一 ...
- socket编程实例
TCP/IP层次模型 当然这里我们只讨论重要的四层 01,应用层(Application):应用层是个很广泛的概念,有一些基本相同的系统级TCP/IP应用以及应用协议,也有许多的企业应用和互联网应用. ...
- 《读书报告 -- Elasticsearch入门 》-- 安装以及简单使用(1)
<读书报告 – Elasticsearch入门 > 第一章 Elasticsearch入门 Elasticsearch是一个实时的分布式搜索和分析引擎,使得人们可以在一定规模上和一定速度上 ...
随机推荐
- Matrix Calculus
1 Scalar Function \(\text{If }f(\mathbf{x})\in\mathbf{R},\mathrm{then}\) \[df=\frac{\partial f}{\par ...
- CentOS_7安装docker
CentOS_7安装docker Install Docker Engine on CentOS 官网文档:https://docs.docker.com/engine/install/centos/ ...
- house of cat
调用方法 调用链1 house of cat调用链 __malloc_assert 在 2.35 的 glibc 中源码如下 static void __malloc_assert (const ch ...
- Expo上手
RN中文网:https://reactnative.cn/docs/next/native-modules-android RN路由:https://reactnavigation.org/docs/ ...
- 代码差异对比之git diff详解!
1.测试对比文件准备 文件A:diff1(diff1文件夹下可以放n个文件) public class Diff1 { public static void main(String[] args){ ...
- P5987 [PA2019] Terytoria / 2023NOIP A层联测13 T3 全球覆盖
P5987 [PA2019] Terytoria / 2023NOIP A层联测13 T3 全球覆盖 题面及数据范围 对于一个点对,可以降维为线段,转化为 1 维的问题. 如图: 我们可以在横着的方向 ...
- 子/次模 (Submodular)、超模 (Supermodular)和模(Modular)函数
定义 子模 (Submodular).超模 (Supermodular)和模(Modular)函数是组合优化中用到的集合函数概念.函数定义域为某个有限集$\Omega$的幂集$2^\Omega$,值域 ...
- Linux下二维码识别库Zbar的安装与使用
1. 安装Zbar sudo apt-get install libzbar-dev 2. 识别流程 读取图像并转换为Zbar内建图像类型 创建Zbar扫描器 设置扫描参数 扫描图像并获取结果 #in ...
- Java Class 文件中Method的存储
class文件是java编译后的文件类型.其代表一个类,其有专门的存储格式.其中会存放数据也会存放方法,而所谓的方法存放就是将方法中的调用都转换成java字节码指令.所方法调用从机器的角度看就是对于寄 ...
- Redis【1】- 如何阅读 Redis源码
1 Redis 的简介 Redis 实际上是简称,全称为 Remote Dictionary Server (远程字典服务器),由 Salvatore Sanfilippo 写的高性能 key-val ...