随笔分类 -  32位MCU学习

摘要:1、关于CH32V103 PD0/PD1引脚使用 PD0、PD1引脚为外部HSE晶振引脚,作为普通GPIO使用的时候注意:需要关闭外部晶振,开启复用时钟,使用HSI配置系统主频,否则无法正常运行。 2、关于CH32V003 PA1/PA2引脚时用 PA1、PA2引脚可以作为外部晶振引脚使用,注意若要 阅读全文
posted @ 2024-12-19 14:02 ZaiLi 阅读(153) 评论(0) 推荐(0) 编辑
摘要:1、定时器作为计数器,时钟频率计算如下图: 2、定时器产生一次更新中断时间计算,如下: 当定时器设置为边沿对齐模式和向上计数模式时,定时器计数到重装载值(arr)产生一次中断,产生一次中断的时间为: 其中:T为定时器周期,也为此处产生一次中断的时间; arr为重装载值,即定时器计数到该值产生一次中断 阅读全文
posted @ 2024-11-15 13:22 ZaiLi 阅读(512) 评论(0) 推荐(0) 编辑
摘要:配置GPIO输出模式时,有3种频率可以选择:2MHz、10MHz和50MHz,如下图: 此处频率指的是I/O口驱动电路的响应频率而不是输出信号的频率。芯片的内部做了多个响应频率不同的输出驱动电路,可以根据需要选择合适的驱动电路。通过选取不同频率的输出驱动电路达到最佳的控制噪声和降低功耗的效果。 高频 阅读全文
posted @ 2024-07-29 11:21 ZaiLi 阅读(368) 评论(0) 推荐(0) 编辑
摘要:以CH32V307为例,配置方法如下: 关于给定义的变量赋值,注意要通过FLASH编程操作写入,将值写入FLASH该位置。完成后可直接通过读取该变量获取该值。如下图: 配置代码如下: /********************************** (C) COPYRIGHT ******** 阅读全文
posted @ 2024-07-26 10:47 ZaiLi 阅读(131) 评论(0) 推荐(0) 编辑
摘要:CH32系列某些小封装芯片可能会存在合封引脚,如下图。以下图8脚为例,为PD4、PD5、PD1的合封引脚,其中PD1引脚还作为SWIO下载引脚。若要使用PD4引脚作为普通IO输出高低电平,注意在进行程序配置时需要注意:(1)PD4引脚按照GPIO输出配置;(2)合封引脚PD5和PD1要配置为浮空输入 阅读全文
posted @ 2024-07-03 15:50 ZaiLi 阅读(67) 评论(0) 推荐(0) 编辑
摘要:1、关于SysTick CH32F103/203: CH32F103/203为Cortex-M3内核,SysTick是一个24位的向下递减计数器,计数器每计数一次的时间可配置为1/时基。当SysTick重装载数寄存器的值递减到0的时候,产生一次中断。CH32F系列MCU SysTick由4个寄存器控 阅读全文
posted @ 2024-06-07 14:55 ZaiLi 阅读(81) 评论(0) 推荐(0) 编辑
摘要:1、关于AWU的介绍 AWU 模块可以实现无需外部中断的情况下自动唤醒。通过对时间基数进行编程,可周期性地从停止或待机模式下唤醒。 AWU是一个6位的自加型计数器,关于其时钟源的选择如下: CH32X035可选择内部高速时钟 HSI 的 47KHz 分频时钟作为 AWU 模块时钟源,可以在低功耗模式 阅读全文
posted @ 2024-03-13 16:02 ZaiLi 阅读(178) 评论(0) 推荐(0) 编辑
摘要:目前CH32V系列MCU EVT提供的IAP升级方式都是在SW_Handler函数中进行APP地址的跳转,如下图1,该方式在程序中需要使能该软件中断,如下图2配置。 图1 图2 该方式无需配置工程在机器模式下,无需修改启动文件中mstatus寄存器的值。 但某些情况下,软件中断函数需用做他用,或用户 阅读全文
posted @ 2024-01-23 13:21 ZaiLi 阅读(346) 评论(1) 推荐(0) 编辑
摘要:当使用APB1外设复位寄存器或使用APB2外设复位寄存器复位某一外设模块时,复位完成后需要将其关闭掉,如下:当调用RCC_APB2PeriphResetCmd(RCC_APB2Periph_AFIO, ENABLE);函数对IO辅助功能模块进行复位控制时,结束后,需要调用RCC_APB2Periph 阅读全文
posted @ 2024-01-22 16:04 ZaiLi 阅读(121) 评论(0) 推荐(0) 编辑
摘要:对CH32V003J4M6进行下载烧录时,注意打印引脚要修改使用复用的打印引脚,否则因为PD1与PD5引脚是合封在一起的,使用默认的打印引脚之后会导致PD1的SWDIO信号受影响而无法下载以及debug,需要清空flash之后才能继续下载使用。 阅读全文
posted @ 2024-01-16 15:16 ZaiLi 阅读(695) 评论(0) 推荐(0) 编辑
摘要:关于CH32V003复位引脚PD7作为GPIO使用配置说明 具有两种配置方式: 1、直接通过操作用户字进行配置,如下图,注意要FLASH解锁; FLASH_Unlock(); FLASH_UserOptionByteConfig(OB_IWDG_SW,OB_STOP_NoRST,OB_STDBY_N 阅读全文
posted @ 2023-12-28 10:31 ZaiLi 阅读(273) 评论(0) 推荐(0) 编辑
摘要:测试平台: CH32V307VCT6+RTL8211FS PS:沁恒CH32V307VCT6-R2开发板带有千兆PHY(RTL8211FS),本次测试基于该开发板。该开发板原理图以及PCB图可在CH32V 307 EVT中获取到,如下图。EVT下载链接如下: https://www.wch.cn/d 阅读全文
posted @ 2023-12-19 11:10 ZaiLi 阅读(947) 评论(0) 推荐(0) 编辑
摘要:CH32V307的ADC模块具有两个独立的ADC单元,12位分辨率,支持16个外部通道和2个内部信号源采样。 CH32V307的触摸检测单元,借助ADC模块的电压转换功能,通过将电容量转换为电压量进行采样,实现触摸按键检测功能。检测通道复用ADC的16个外部通道,通过ADC模块的单次转换模式实现触摸 阅读全文
posted @ 2023-12-12 13:12 ZaiLi 阅读(293) 评论(0) 推荐(0) 编辑
摘要:在定时器的输出模式中,有一种输出模式—翻转模式,通过使用该模式,可以使用一个定时器不同通道输出移相PWM波形。关于翻转模式,当核心计数器与比较捕获寄存器的值相同时,翻转该通道的电平。 使用翻转模式配置输出移相PWM波形代码如下: /********************************** 阅读全文
posted @ 2023-11-28 11:28 ZaiLi 阅读(314) 评论(0) 推荐(0) 编辑
摘要:简介 CH32V20x系列、V30x系列用户选择字区域大小为128字节,除却用户选择字信息结构用到的16字节,还剩余112字节可作为他用,用来存储相关数据等。 注意剩余空间在使用时,和上述一致,若[7:0]为数据,则[15:8]为数据的反码。此外,在对剩余空间进行操作时,需要将用户选择字信息结构部分 阅读全文
posted @ 2023-11-17 14:58 ZaiLi 阅读(218) 评论(0) 推荐(0) 编辑
摘要:在进行系统时钟配置时,可以选择HSI、HSE、PLL作为系统时钟来源。而PLL时钟来源有几下几种,如下图: 以下为CH32V307时钟树框图,如下图: 关于使用HSE或HSI作为系统时钟,在CH32V307 EVT都有相应例程,在system_ch32v30x.c文件中直接使用相关宏定义即可,如下图 阅读全文
posted @ 2023-11-04 14:10 ZaiLi 阅读(364) 评论(0) 推荐(0) 编辑
摘要:1、修改ld文件,如下图: . = ORIGIN(RAM) + 0x100; *(.TEST) 2、将变量加入__attribute__((section(".TEST")))声明,如下图 3、编译后的效果如图所示 阅读全文
posted @ 2023-11-03 17:31 ZaiLi 阅读(236) 评论(0) 推荐(0) 编辑
摘要:参考链接:https://blog.csdn.net/weixin_46957846/article/details/127352759 本篇文章为基于CH32V307的MAX7219级联应用,代码是基于上参考链接代码基础上修改,若有侵权请联系及时删除。该应用测试所用模块为一个四级级联模块,参考链接 阅读全文
posted @ 2023-11-03 14:57 ZaiLi 阅读(299) 评论(0) 推荐(0) 编辑
摘要:正常情况下,FLASH都是从0地址开始运行,但某些情况下,需要配置从FLASH某一地址开始运行,如0x08004000地址开始,具体配置方法如下: 1、在ld文件中将FLASH进行分区,分成两个区域,如下图 2、修改.init段,改为FLASH1 修改之后,直接下载,读取FLASH内容,如下: 代码 阅读全文
posted @ 2023-10-25 15:35 ZaiLi 阅读(198) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示