烧录
按照下面步骤:
1. Clear All Code Flash-By Power off
2. MounRiver Studio 正常下载
硬件概述
VDD = 2.7~5.5V
J4M6内存:16KB flash + 2kSram+ 64B 配置
GPIO 分为 A C D三类
可以重新映射:UART x1, SPI x1, I2C x1, 3 组 GPIO x18, SWIO x1
时钟Clock包括: 内部高频 RC 振荡器(HSI 24M)、内部低频 RC 振荡器(LSI 128K)、外接高频振荡器(HSE)
时钟产生:
- LSI->gpio / wdg / pwr
- HSI->DIV/mux->SYSCLK/AHBCLK
- AHBCLK prescaler -> AHB peripheral / Core System Timer / TIM2/TIM1/ADC / Flash/ SRAM/DMA
基本编程基础
常见流程
初始化过程
NVIC_PriorityGroupConfig 配置中断优先级分组
SystemCoreClockUpdate 更新系统时钟
Delay_Init delay函数初始化
EXTI_INT_INIT 外部中断使能
RCC_APB2PeriphClockCmd 模块上电
GPIO_Init 初始化GPIO
模块上电
AHB_peripheral
RCC_AHBPeriph_DMA1:直接存储器访问(DMA)控制器
RCC_AHBPeriph_SRAM:静态随机存取存储器(SRAM)的时钟使能位。
APB2_peripheral
RCC_APB2Periph_AFIO:模拟功能IO(Alternate Function IO)和中断/事件控制器(EXTI)的时钟使能位。
它用于配置GPIO引脚的复用功能、重映射功能以及管理外部中断。
RCC_APB2Periph_GPIOA/GPIOC/GPIOD:分别代表GPIOA、GPIOC、GPIOD端口的时钟使能位
RCC_APB2Periph_ADC1:模拟数字转换器(ADC)
RCC_APB2Periph_TIM1:定时器1的时钟使能位。定时中断、PWM输出等功能的定时器。
RCC_APB2Periph_SPI1:串行外设接口(SPI)1的时钟使能位
RCC_APB2Periph_USART1:通用同步异步收发传输器(USART)
APB1_peripheral
RCC_APB1Periph_TIM2:定时器2的时钟使能位。与TIM1类似,但属于APB1总线。
RCC_APB1Periph_WWDG:窗口看门狗(Window Watchdog)的时钟使能位
RCC_APB1Periph_I2C1:I2C(Inter-Integrated Circuit)接口1的时钟使能位
RCC_APB1Periph_PWR:电源控制(Power Control)的时钟使能位。PWR模块用于控制STM32的电源管理功能,如低功耗模式Stanby等。
2. 低功耗设计
2.1 电压与功耗
实际测试2.9V为临界电压.当 VDD < 2.9V 时,电流功耗会增大。
2.2 频率与功耗
方案1.调节运行时,CPU 频率
SystemInit()需要自定义
修改clock
SystemCoreClockUpdate() 执行的是乘法
SystemCoreClock = SYSCLK_FREQ_8MHz_HSI 是除法申明, 两个不冲突
如果继续修改更低的频率
1. 需要自定义
#define DIV_NUM 8 //RCC_HPRE_DIV support: 1 2 3 4 5 6 7 8 16 32 64 128 256
#define SYSCLK_FREQ_CUSTOM_HSI (24000000/(DIV_NUM)) // (8000 * 1000)
2. 同时需要修改
debug.c中
Delay_Init
static float p_us = 0;
p_us = SystemCoreClock / 8000000.0; // us休眠,默认只支持>=8M的clock,改为浮点,否则p_us=0
Delay_Us
p_us 加类型强制转换
2.3 睡眠sleep和待机Standby
- GPIO 全部下拉
https://www.wch.cn/bbs/thread-96767-1.html
PWM设置
周期= sys clk / psc
占空比 = cpp / arr
编程pwm开启过程
- 开启时钟
- 配置定时器
- 配置比较通道
- 配置PWM输出端口
LinkE 升级
- 打开 WCHLinkEJtagUpdTool.exe
注意:WCHLinkEJtagUpdTool.exe只要打开就会进入 Update模式,无法退出。除非重新烧录。 - 选择
a. 第一个:C:\MounRiver\MRS_Community\ExTool\SWDTool\Firmware_Link\FIRMWARE_CH32V305.bin
b. 第二个:C:\MounRiver\MounRiver_Studio\ExTool\SWDTool\Firmware_Link\FIRMWARE_CH549.BIN - 烧录