• 2023-12-28关于CH32V003复位引脚PD7作为GPIO使用配置说明
    关于CH32V003复位引脚PD7作为GPIO使用配置说明具有两种配置方式:1、直接通过操作用户字进行配置,如下图,注意要FLASH解锁;FLASH_Unlock();FLASH_UserOptionByteConfig(OB_IWDG_SW,OB_STOP_NoRST,OB_STDBY_NoRST,OB_RST_NoEN,OB_PowerON_Start_Mode_BOOT);FLASH_Lock
  • 2023-08-20CH32V003的系统定时器SysTick
    在CH32V003内部有一个特殊的定时器——系统定时器(SysTick),它位于青稞V2微处理内核里面,是RISC-V内核的一个组成部分,主要用来给操作系统提供时间片轮转的定时,一般固定为10ms的定时,所以中文也称它为“嘀嗒”定时器(也称“心跳”定时器)。在不跑操作系统时,可以把它当作普通定时器来使用,一
  • 2023-08-19CH32V003的输入/输出端口
    GPIO端口是处理器与外部设备打交道的基础,为了更好地应用它,下面就对CH32V003的通用输入输出端口(GPIO)的寄存器结构及用法做详细深入地讨论。CH32V003是一个32位的处理器,但它的GPIO端口并不是把32个引脚都引出来,而是根据芯片型号及其封装的不同,分别引出来了18个(CH32V003F4P6、CH32V00
  • 2023-08-18CH32V003的时钟配置
    要让CH32V003正常工作,首先要对它的时钟源进行配置。CH32V003的最高工作频率为48MHz,因此给它的主时钟频率最大不能超过48MHz。实际上,通常会使用频率较低的晶振,以降低外部电磁干扰,然后再通过内部倍频的方式把主时钟频率提高。根据管方手册给出的数据,外部晶振的频率范围是4~25MHz,一般
  • 2023-08-17CH32V003在MRS中的头文件定义
    在MRS的头文件core_riscv.h中有如下的定义。 #define__Ivolatileconst#define__Ovolatile#define__IOvolatile 上述定义,通过define语句把__IO等效为volatile,把__O等效为volatile,把__I等效为volatileconst。一般来说宏定义都用大写形式,但因
  • 2023-08-13CH32V003在MRS中的初始化过程
    在MRS的默认配置中,在main函数执行之前,就已经执行了时钟的初始化配置程序,这部分程序被放在了一个名为system_ch32v00x.c的文件中,这个文件默认被加载到MRS的User目录下(可双击打开它)。在该文件中,最重要的一个函数就是SystemInit,它负责系统的初始化工作,其代码如下所示。 voidSyste
  • 2023-08-11CH32V003及其开发环境
    CH32V003是南京沁恒微电子股份有限公司推出的一颗工业级通用微控制器芯片(单片机)。它基于32位RISC-V指令集及架构设计,采用该公司自主开发的青稞V2A(QingKeV2)内核,基于RV32EC指令集,具有2级流水线,支持2级中断嵌套,支持2级硬件堆栈。支持48MHz系统主频,具有宽压(3.3/5V)、单线调试(SWDIO)、低
  • 2023-08-11CH32V003开发环境MRS配置
    MRS是MounRiver工作室采用开源项目Eclipse制作的一款易于使用的开发工具,它几乎是为WCH系列芯片量身定制的,相对于其他一些开发环境,它具有编译速度快,使用简洁方便,支持多种平台等特点,可访问MounRiver的官网(www.mounriver.com)下载最新版本。MRS的安装可全部采用默认选项进行,安装完成