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是一个实时的分布式搜索和分析引擎,使得人们可以在一定规模上和一定速度上 ...
随机推荐
- Bootstrap 栅栏布局中 col-xs-*、col-sm-*、col-md-*、col-lg-* 区别及使用方法 _2021-11-10
Bootstrap 栅栏布局中 col-xs-.col-sm-.col-md-.col-lg- 区别及使用方法 全文转自:https://www.cnblogs.com/tangbohu2008/p/ ...
- 局部加权回归(Lowess)
代码示例:(源自:https://blog.csdn.net/weixin_71158509/article/details/136060826) import numpy as np import ...
- CSP 2024-S 游记 黑暗的枷锁
09-21 今天考完了初赛,明显感觉数学门槛变高了一些,有高中数学知识才能保证看得懂题意,只是苦了小学和初中同学,看数据参加人数还涨了50%,权当拉低分数线了吧.用小图灵估分70.应该是稳过. 09- ...
- 【Azure App Service】在App Service for Windows上验证能占用的内存最大值
问题描述 在创建App Service服务的时候,根据定价层不同,内存使用的最大值也有不同.但在实际测试中,发现内存最大只能占用2GB左右, 而定价层中内存分配明明是大于2GB(比如B3定价层的内存为 ...
- Abp Vnext Vue版本(Vben Admin5.0)
前言 之前有提供免费开源的基于vben2.8版本的abp vnext pro版本 abp vnext pro vben admin 2.8 vben2.8作者已经重构一个版本,命名为vben5,而vb ...
- jQuery.validator验证无效的可能原因
最近用jQuery.validator做表单的前端验证,却发现验证规则都无效.最后发现以下原因会导致校验无效 1.jquery.min.js重复引用. 2.js中有bug存在. 3.<input ...
- (Redis基础教程之十) 如何在Redis中运行事务
介绍 Redis是一个开源的内存中键值数据存储.Redis允许您计划一系列命令,然后一个接一个地运行它们,这一过程称为_transaction_.每个事务都被视为不间断且隔离的操作,以确保数据完整性. ...
- 十、Spring Boot集成Spring Security之HTTP请求授权
目录 前言 一.HTTP请求授权工作原理 二.HTTP请求授权配置 1.添加用户权限 2.配置ExceptionTranslationFilter自定义异常处理器 3.HTTP请求授权配置 三.测试接 ...
- Docker Logs清理
查看docker日志路径 docker inspect --format='{{.LogPath}}' <container_name_or_id> 清理docker日志 echo |su ...
- docker创建Tomcat
安装docker 查找tomcat docker search tomcat 下载镜像 docker pull tomcat 查看下载的镜像 docker images 运行Tomcat docker ...