ch32v307专题

WCH恒沁单片机-CH32V307学习记录2----FreeRTOS移植

RISC-V 单片机 FreeRTOS 移植 前面用了 5 篇博客详细介绍了 FreeRTOS 在 ARM Cortex-M3 MCU 上是如何运行的。 FreeRTOS从代码层面进行原理分析系列 现在我直接用之前的 RISC-V MCU 开发板子(CH32V307VCT6)再次对 FreeRTOS 进行移植,其实也不能说是从头到尾的移植,因为在官方的软件包中已经包含了对 FreeRTOS

【国产MCU】-CH32V307-独立看门狗(IWDG)

独立看门狗(IWDG) 文章目录 独立看门狗(IWDG)1、独立看门狗介绍2、独立看门狗驱动API介绍3、独立看门狗使用实例 在CH32V307中,独立看门狗(IWDG)是一个自由运行的12 位递减计数器,支持7 种分频系数。由一个内部独立的40KHz的RC振荡器(LSI)提供时钟;因为LSI 独立于主时钟,所以可运行于停止和待机模式。IWDG在主程序之外,可以完全独立工作,因此

【国产MCU】-CH32V307-实时时钟(RTC)

实时时钟(RTC) 文章目录 实时时钟(RTC)1、实时时钟(RTC)介绍2、RTC驱动API介绍3、RTC使用实例 RTC 实时时钟是一组32 位可编程计数器,时基支持20 位预分频,用于较长时间段的测量。时钟基准来源高速的外部时钟128分频(HSE/128)、外部晶体低频振荡器(LSE)或内部低功耗RC振荡器(LSI)。其中LSE 也存在后备供电区域,所以,当选择LSE做RT

【国产MCU】-CH32V307-SPI控制器

SPI控制器 文章目录 SPI控制器1、SPI介绍2、SPI驱动API介绍3、SPI工作模式3.1 主模式3.2 从模式3.3 单工模式3.4 CRC、DMA与中断 4、使用示例 SPI 支持以三线同步串行模式进行数据交互,加上片选线支持硬件切换主从模式,支持以单根数据线通讯。 本文将详细介绍如何使用CH32V307的SPI模块。 1、SPI介绍 CH32V307最高支

【国产MCU】-CH32V307-定时器同步模式

定时器同步模式 文章目录 定时器同步模式1、定时器同步模式介绍2、驱动API介绍3、定时器同步模式实例 1、定时器同步模式介绍 CH32V307的定时器能够输出时钟脉冲(TRGO),也能接收其他定时器的输入(ITRx)。不同的定时器的ITRx的来源(别的定时器的TRGO)是不一样的。 通用定时定时器内部触发连接如下表所示。 高级定时器内部触发连接如下表所示: 所

【国产MCU】-CH32V307-通用定时器(GPTM)-比较输出模式

通用定时器(GPTM)-比较输出模式 文章目录 通用定时器(GPTM)-比较输出模式1、比较输出模式介绍2、驱动API介绍3、输出比较模式使用实例 本文将详细介绍如何使用CH32V307通用定时器的比较输出模式。 1、比较输出模式介绍 比较输出模式是定时器的基本功能之一。比较输出模式的原理是在核心计数器(CNT)的值与比较捕获寄存器的值一致时,输出特定的变化或波形。OCx

【国产MCU】-CH32V307-通用定时器(GPTM)-单脉冲模式

通用定时器(GPTM)-单脉冲模式 文章目录 通用定时器(GPTM)-单脉冲模式1、单脉冲模式介绍2、驱动API介绍3、单脉冲使用实例 本文将详细介绍如何使用CH32V307通用定时器的单脉冲模式。 1、单脉冲模式介绍 单脉冲模式可以响应一个特定的事件,在一个延迟之后产生一个脉冲,延迟和脉冲的宽度可编程。置OPM位可以使核心计数器在产生下一个更新事件UEV 时(计数器翻转

【国产MCU】-CH32V307-通用定时器(GPTM)-PWM输出

通用定时器(GPTM)-PWM输出 文章目录 通用定时器(GPTM)-PWM输出1、通用定时器的PWM输出介绍2、驱动API介绍3、PWM输出实例3.1 普通方式输出PWM3.2 DMA方式输出PWM 本文将详细CH32V307通用定时器的PWM输出功能。 1、通用定时器的PWM输出介绍 在前面的文章中,对CH32V307的通用定时器做了详细的介绍,请参考: 通用定时

【国产MCU】-CH32V307-通用定时器(GPTM)-输入捕获模式测量脉冲

通用定时器(GPTM)-输入捕获模式测量脉冲 文章目录 通用定时器(GPTM)-输入捕获模式测量脉冲1、通用定时器(GPTM)介绍2、输入捕获模式3、驱动API介绍4、定时器输入捕获示例 CH32V307的通用定时器模块包含一个16 位可自动重装的定时器(TIM2、TIM3、TIM4和TIM5),用于测量脉冲宽度或者产生特定频率的脉冲、PWM波等。可用于自动化控制、电源等领域。

【国产MCU】-CH32V307-基本定时器(BCTM)

基本定时器(BCTM) 文章目录 基本定时器(BCTM)1、基本定时器(BCTM)介绍2、基本定时器驱动API介绍3、基本定时器使用实例 CH32V307的基本定时器模块包含一个16 位可自动重装的定时器(TIM6和TIM7),用于计数和在更新新事件产生中断或DMA 请求。 本文将详细介绍如何使用CH32V307的基本定时器。 1、基本定时器(BCTM)介绍 CH32V

【国产MCU】-CH32V307-触摸按键检测(TKEY)

触摸按键检测(TKEY) 文章目录 触摸按键检测(TKEY)1、TKEY介绍2、TKEY使用实例 触摸检测控制(TKEY)单元,借助ADC 模块的电压转换功能,通过将电容量转换为电压量进行采样,实现触摸按键检测功能。检测通道复用ADC 的16 个外部通道,通过ADC 模块的单次转换模式实现触摸按键检测。 本文将详细介绍如何使用CH32V307的触摸按键检测功能。 1、TK

【国产MCU】-CH32V307-模拟/数字转换器(ADC)

模拟/数字转换器(ADC) 文章目录 模拟/数字转换器(ADC)1、ADC介绍2、ADC驱动API介绍3、ADC使用实例3.1轮询方式采样3.2 中断方式采样3.3 DMA方式读取数据3.4 读取温度传感器值 CH32V307内嵌2个12位的模拟/数字转换器(ADC),共用多达16 个外部通道和2 个内部通道采样,可编程的通道采样时间,可以实现单次、连续、扫描或间断转换,且支持

【国产MCU】-CH32V307-通用同步/异步收发器(USART)

通用同步/异步收发器(USART) 文章目录 通用同步/异步收发器(USART)1、USART介绍2、USART驱动API介绍3、USART使用示例3.1 轮询方式数据发送与接收3.2 中断方式数据发送与接收3.3 DMA方式数据发送与接收 CH32V307提供了3组通用同步/异步收发器(USART1、USART2、USART3),以及5组通用异步收发器(UART4、UART5

【国产MCU】-CH32V307-通用DMA控制器及使用

通用DMA控制器及使用 文章目录 通用DMA控制器及使用1、通用DMA控制器介绍2、DMA驱动API介绍3、DMA使用实例 直接存储器访问控制器(DMA)提供在外设和存储器之间或存储器和存储器之间的高速数据传输方式,无须CPU 干预,数据可以通过DMA 快速地移动,以节省CPU 的资源来做其他操作。DMA 控制器每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个

【国产MCU】-CH32V307-GPIO控制-外部中断

GPIO控制-外部中断 文章目录 GPIO控制-外部中断1、CH32V307中断介绍2、GPIO外部中断相关API3、外部中断使用代码实现 CH32V3x 系列内置可编程快速中断控制器(PFIC– Programmable Fast Interrupt Controller),最多支持255 个中断向量。当前系统管理了88 个外设中断通道和8 个内核中断通道,其他保留。 本

【国产MCU】-CH32V307-GPIO控制:输入与输出

GPIO控制:输入与输出 文章目录 GPIO控制:输入与输出1、GPIO简单介绍2、驱动API介绍3、GPIO配置代码实现3.1 GPIO配置为输出3.2 GPIO配置为输入 CH32V307的GPIO口可以配置成多种输入或输出模式,内置可关闭的上拉或下拉电阻,可以配置成推挽或开漏功能。GPIO口还可以复用成其他功能。本文将详细介绍如何使用CH32V307 GPIO的输入与输出

【国产MCU】-认识CH32V307及开发环境搭建

认识CH32V307及开发环境搭建 文章目录 认识CH32V307及开发环境搭建1、CH32V307介绍2、开发环境搭建3、程序固件下载 1、CH32V307介绍 CH32V307是沁恒推出的一款基于32位RISC-V设计的互联型微控制器,配备了硬件堆栈区、快速中断入口,在标准RISC-V基础上大大提高了中断响应速度。加入单精度浮点指令集,扩充堆栈区,具有更高的运算性能。扩展

沁恒CH32V307以及CH32VF103中断只能进一次的解决方法

文章背景 ​ 笔者最近使用沁恒CH32V307处理器进行应用开发,基于RT Thread实时操作系统和LWIP做TCP和CAN的透传。因为官方BSP并没有适配RT Thread的CAN驱动,暂时将RT Thread作为普通实时系统使用,先不对CAN外设进行系统抽象。但写完调试程序后发现中断只能进入一次,遂开始研究解决,将解决过程撰文记录,供后来人参考。 解决方法 ​ 先不过多的说废话,直接贴

基于CH32V307的FreeRTOS+LwIP 移植使用

2022/11/16 看网上关于在沁恒ch32V307上移植LwIP的demo比较稀缺,自己就参考着官方的例程和老衲五木的博客移植一份带RTOS的LwIP和裸机LwIP,代码链接放如下,使用MounRiver打开,可以直接在沁恒官方的赤兔开发板上使用。 裸机lwIP https://github.com/xye038/CH32V307_lwIP-1.41 FreeRTOS lwIP http