实验目的
1、 了解STM32G0内部连接矩阵的架构。
2、 通过定时器之间的内部连接,达到定时器分频的目的。
3、 熟悉STM32CubeMX的配置流程。
4、 知道内部连接的优势
实验环境
软件环境:IAR 8.22
STM32Cube_FW_G0_V1.0.0
STM32CubeMX 5.0.1
硬件环境:Nucleo-G071RB
示波器/逻辑分析仪
原理框图
STM32CubeMX配置流程
1、 打开STM32CubeMX;
2、 选择STM32G071RB;
3、 使能TIM3的内部时钟并设置自动重装载的值为16000-1,开启自动重装载功能;
4、 开启TRGO OutPut功能且设置输出TRGO事件为更新事件
5、 配置TIM2的从机模式为External-Clock Mode 1,触发源为ITR2,设置通道1为PWM输出,自动重装载的值为1000-1,PWM输出的Pulse为500。
6、 将TIM2_CH1重定义到PA5这个GPIO上(默认是定义到PA0上的)这是为了测试简单,因为PA5上连接了LD4。
7、 检查一下时钟配置,确认系统时钟为16MHz,APB Timer的时钟为16MHz
8、 工程命名为STM32G0_Test,选择EWARM_V8工具链;
9、 直接生成IAR的工程;
增加代码
Main.c文件中的main函数中,增加如下粗体部分的代码
MX_TIM2_Init();
/* USER CODE BEGIN 2 */
HAL_TIM_Base_Start(&htim3);
HAL_PWM_Start(&htim2,TIM_CHANNEL_1);
/* USER CODE END 2 */
Nucleo-G071RB测试点
PA5在Nucleo-G071RB上有两个测试点,可以用来连接示波器或者逻辑分析仪;
CN5的第6Pin或者是CN10的第11pin;
频率计算
在APB的时钟为16MHz的情况下,TIM3的输入时钟为16MHz,经过16000的分频,就会得到1000Hz的更新事件频率,将这1000Hz的频率输入到TIM2的时钟内,再经过1000分频,就得到1Hz的时钟。让PA5(TIM2的通道1)产生一个占空比为50%的方波,我们即可在示波器上看到这个波形。
如果没有示波器,在Nucleo板子上也可以看到LD2灯在不断的闪烁。
上一篇:STM32G0技术详解 _ USB Type-C的物理接口
下一篇:STM32G0技术详解 _ GPIO-EXTI-系统DMA
设计资源 培训 开发板 精华推荐
- LT1300 两节电池至 5V DC/DC 转换器在 2V 输入时提供大于 200mA 的电流
- PX4FMUv2.4.6
- NSI45020AT1G 恒流 LED 灯串的典型应用
- LT8315HFE 83% 效率 5V/1.5A 隔离反激式转换器的典型应用电路
- LT6656AIS6-2.048、2.048V 低功率 ADC 电压基准的典型应用
- ULN2003
- SY89853U,用于 GB 以太网交换机的时钟多路复用器的评估板
- 使用 Analog Devices 的 LTC3374AIUHF 的参考设计
- 使用 Richtek Technology Corporation 的 RT8230E 的参考设计
- 使用 Analog Devices 的 LTC6990IDCB#TRMPBF 的参考设计