STM32G0实验演示01_ 互联矩阵

2023-03-03  

实验目的

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灯在不断的闪烁。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。