随笔分类 - 32位MCU学习
摘要:1、复用为串口1配置方法 关于PA6和PA7,重映射串口1时,最后下标为3,如下图。 换算成二进制为11,重映射对应的就是PA6、PA7,如下图。 由于库中没有直接定义该位,因此将PA6、PA7复用为USART1时,需要进行如下操作,如下图。可直接调用GPIO_PinRemapConfig函数,先调
阅读全文
摘要:在我们使用f_write函数向SD卡或FLASH写入数据时,会出现SD卡或Flash返回正常但数据并没有写入的现象,如下图: 文件打开只是一个空文件。 原因如下: f_write后没关闭,缓存的写入流在进行f_open时被清掉了,所以读到一个空文件。 遇到以上问题时,需要进行如下操作: f_writ
阅读全文
摘要:1、关于低功耗模式下的功耗排列 由低到高依次为:待机模式 < 停止模式 < 睡眠模式 < 运行模式 2、关于低功耗测试注意事项 需要将所有的IO口设置成下拉输入 需要开启PWR时钟,目的是为了将内部调压器设置成低功耗模式 测试时需要将板子指示灯、LDO等去掉
阅读全文
摘要:当单片机没有随机数发生器时,单片机一般用以下方法可以产生随机数:1、直接使用C库函数rand()来生成随机数该种用法下,一般配合定时器使用,通过获取定时器计数值,使用rand()函数来产生一个随机数。 2、利用ADC噪声产生随机数由于噪声和生产误差等因素,ADC原始数据总会有波动,我们可以利用这些波
阅读全文
摘要:正常MCU运行时,都是从FLASH 0起始地址开始运行,有时因为某些需要,需要配置从非0地址开始运行。以CH32V203为例(适用于其他CH32V系列),主要修改配置如下: 主要集中在ld文件的修改: 1、修改FLASH的分配,将FLASH分配成2块区域,如下图 /* CH32V20x_D6 - C
阅读全文
摘要:关于CSR寄存器中的mstatus寄存器,我们在使用的时候主要需要关注位3MIE位,位7MPIE位,位12:11MPP,位14:13FS,各个位解释如下: 位MIE:用于控制打开或者关闭全局中断 当该MIE域的值为1时,表示机器模式下所有的中断全局打开。 当该MIE域的值为0时,表示机器模式下所有的
阅读全文
摘要:对于MCU本身来说,当开启硬件流控时,RTS、CTS初始化配置时: RTS建议配置为复用推挽输出,CTS建议配置配置为浮空输入或带上拉输入,如下图 如上图, 对于MCU来说: RTS为输出信号,用于表示MCU串口是否准备好接收数据,若输出信号为低电平,则说明MCU串口可以接收数据,请求发送数据。当接
阅读全文
摘要:CH32X035 运放OPA和比较器CMP的应用 一、关于CH32X035介绍 CH32X035内置USB和PD PHY,20KB RAM,62KB FLASH,支持USB Host主机和USB Device设备功能、USB PD及Type-C快充功能,内置可编程协议I/O控制器,提供了OPA运放、
阅读全文
摘要:1、关于DHT11产品介绍 DHT11是一款数字温湿度传感器,单线制串行接口,信号传输距离可达20米以上。湿度测量范围为20—90%RH,精度为±5%RH;温度测量范围为0-50℃,精度为±2℃。通常应用在湿度调节器、暖通空调、测试及检测设备等应用领域。 2、关于DHT11应用连接 DHT11具有4
阅读全文
摘要:关于CAN采样点介绍: 采样点,是读取总线电平并解释各位的值的一个时间点。采集点位于相位缓冲段1之后,具体位置如下图: CAN通信中,当延迟或干扰较大时,且采样点位置不一样时,就容易产生通信错误,建议各节点的采样点应该设置为一致,尤其在CAN组网应用中。 CAN采样点一般设置在75%—80%之间,具
阅读全文
摘要:关于CAN通信波特率,计算公式如下: 以EVT例程为例,系统主频设置为96MHz,APB1总线时钟2分频,则为48MHz,CAN具体配置如下: 其中: CAN_SJW_1tq是指SYNC_SE段,固定位1Tq; CAN_BS1_6tq是指BS1段,设置为6tq,实际写入TS1[3:0]的值为5 CA
阅读全文
摘要:关于在CH32V307 EVT RT-Thread例程基础上配置修改使用FPU操作流程 CH32V307 EVT下载链接: https://www.wch.cn/downloads/CH32V307EVT_ZIP.html 1、首先需要注意对MRS进行配置,具体配置方式可参考下贴: https://
阅读全文
摘要:目前嵌入式当中OLED常用驱屏方式有两种:SPI或IIC。以速度来讲,SPI速度相较于IIC会快上一些,硬件IIC相较于模拟IIC速度又会快上一些。此外还有模拟SPI的,但该种用法我遇到较少,本文就硬件SPI驱动OLED屏幕做一个简单的刷新率测试。 测试硬件平台:CH32V307VCT6+杜邦线连接
阅读全文
摘要:在MRS开发环境下,针对CH32V系列MCU FLASH分配,具体方法如下:比如开辟一段空间,存放数组等数据,首先在ld文件中修改FLASH分配,如下图: .consumer_flash1 : { . = ALIGN(4); }AT>FLASH1 .consumer_flash2 : { . = A
阅读全文
摘要:SPI与SDIO两种操作方式读写SD卡速度测试 目前嵌入式应用中,若要用到SD卡,一般有两种操作方式可选: 一种是SPI操作SD卡的方式; 一种是SDIO操作SD卡的方式。 一般是SPI操作SD卡方式使用较多,因为一般正常的MCU都带有SPI接口,但SDIO接口一般存在于大容量MCU中,中小容量的M
阅读全文
摘要:该功能需要配合EVT对应例程以及对应WCH-LinkUtility工具使用,WCH-LinkUtility下载链接如下: https://www.wch.cn/downloads/WCH-LinkUtility_ZIP.html 该功能目前仅支持以下型号MCU,如下图,且需要配合WCH-LinkE使
阅读全文
摘要:关于CAN工作模式切换 CH32的CAN有3种工作模式:初始化模式、睡眠模式和正常模式3种模式。只能在初始化模式下修改CAN_BTIMR 的 SILM 和 LBKM位配置来选择一种测试模式,测试模式有3种:静默模式,环回模式,静默环回模式。若要切换工作模式,需要对寄存器CAN_CTLR 中的 SLE
阅读全文
摘要:1、关于串口波特率的计算 波特率计算公式如下: TX/RX波特率=FCLK/(16*USARTDIV) USARTDIV=DIV_Mantissa+(DIVFraction/16) 以USART1波特率115200为例,FCLK为72M,则USARTDIV值为39.0625,即 39.0625=DI
阅读全文
摘要:目前使用片选方式时,一般使用软件方式,通过操作GPIO拉高或拉低。 片选信号线处于空闲时应保持高电平,且在需要进行数据传输时,应能够被SPI主机片选引脚拉低。 当使用硬件方式时,除了需要在结构体中配置为硬件模式,还应将片选引脚配置为复用推挽模式,并调用SPI_SSOutputCmd函数,开启对应SP
阅读全文
摘要:1、关于硬件IIC卡死在EV5事件解决方法 主机使用I2C_GenerateSTART()函数发送START条件后,主机必须等待事件5(启动条件已在I2C总线上正确释放),关于事件5,主要是对是否发送起始位(STAR1寄存器位0)、主从模式以及总线是忙还是空闲(STAR2寄存器位0、位1)进行判断,
阅读全文

浙公网安备 33010602011771号