06 2022 档案
摘要:以RISC-V MCU CH32V307为例 1. 停止模式简介 停止模式是在内核深睡眠模式(SLEEPDEEP)基础上结合了外设的时钟控制机制,并可以让电压调节器运行在低功耗模式。 此模式下,高频时钟(HSE/HSI/PLL)被关闭,SRAM和寄存器内容保持,IO引脚状态保持。 该模式唤醒后,系统
阅读全文
摘要:以RISC-V MCU CH32V307为例 1. 睡眠模式简介 睡眠模式下,所有的IO引脚都保持它们在运行模式时的状态。 所有的外设时钟都正常工作。进入睡眠前,尽量关闭无用的外设时钟,以降低功耗。 该模式唤醒所需的时间最短,几乎不耗时间,约 2~3 us。 此模式下,以144MHz运行时,使能所有
阅读全文
摘要:1. 后备数据寄存器概述 CH32V307后备寄存器(BKP)提供了10个16位的通用数据寄存器(BKP_DATARx),可以用来存储20个字节的用户数据。 BKP_DATARx 后备数据寄存器在VDD掉电时,可依靠VBAT电源保持数据。 当系统在待机模式下被唤醒,或系统复位或电源复位时,这些数据也
阅读全文
摘要:1. 电源结构 CH32V307供电结构如下图所示: 通常CH32V307工作电压VDD的范围为2.4V~3.6V,当使用ETH或USB时,工作电压VDD的范围为 3.0V~3.6V 内置电压调节器提供内核所需的1.5V电源。 VDDA和VSSA为模拟部分供电 :::tip 为了提高AD等模拟部分的
阅读全文
摘要:1、什么是堆栈? 在嵌入式的世界里,堆栈通常指的是栈,严格来说,堆栈分为堆(Heap)和栈(Stack)。 栈(Stack): 一种顺序数据结构,满足后进先出(Last-In / First-Out)的原则,由编译器自动分配和释放。使用一级缓存,调用完立即释放。 堆(Heap):类似于链表结构,可对
阅读全文
摘要:1. ADC简介 ADC,Analog-to-Digital Converter的缩写。指模/数转换器或者模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件。 ADC是MCU的重要外设,主要用于传感器的数据采集,常见的ADC类型一般为逐次逼近型。 以沁恒RISC-V MCU CH3
阅读全文
摘要:启动文件由汇编语言编写,是MCU上电复位后第一个执行的程序。主要执行以下内容: 初始化gp(global pointer)全局指针寄存器、sp(stack pointer)栈指针寄存器 将data数据从flash中加载至RAM中 清空bss段数据 初始化中断向量表 配置系统时钟 从Machine模式
阅读全文
摘要:Keil MDK开发ARM 内核的MCU时,将常量定义到指定的Flash地址中,使用 _attribute_( at(绝对地址) )即可,如: 1 const u32 myConstVariable_1[128] __attribute__((at(0x08001000))) = {0x123456
阅读全文
摘要:RISC-V MCU开发过程中,需要指定一些变量在MCU复位时能够保持当前变量的值, 以CH32V307为例,具体方法如下: 不更改ld文件,将变量添加((section(".noinit")))属性描述 __attribute__((section(".noinit"))) uint8_t tes
阅读全文
摘要:以沁恒RISC-V MCU CH32V203C8T6为例, 当使用内部8MHz高频晶振时,其外接高频晶振的引脚可以配置为普通io。 引脚编号 主功能(复位后) 重映射功能 5 OSC_IN PD0 6 OSC_OUT PD1 具体方法如下: 打开io辅组功能模块时钟AFIO RCC_APB2Peri
阅读全文
摘要:以沁恒RISC-V MCU CH32V203C8T6为例,其配备了两线仿真调试接口, 用于在线下载和仿真调试。 引脚编号 主功能(复位后) 重映射功能 34 SWDIO PA13 37 SWCLK PA14 可以看出,上电复位后,PA13、PA14默认的功能为调试接口,方面工程师进行开发调试。 如果
阅读全文