打印
[STM32L0]

从零开始开始NOCLEO—L073之呼吸灯之旅

[复制链接]
1762|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lulugl|  楼主 | 2023-10-27 21:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lulugl 于 2023-10-28 07:56 编辑

#申请原创# #有奖活动# @21小跑堂 @21ic小可爱
【开发板介绍】
NUCLEO-L073RZ(stm32l073rzt6芯片)开发板,整体上这个板子沿用了传统的塑料包装。  简约不简单,内含纸板双面分别标有引脚图及芯片简单介绍和入门引导。Arduino™的连接支持和ST Morpho的扩展连接头使用户很容易扩大STM32 Nucleo板对外开发平台的功能,该平台提供了多种可供选择的适配外设板。STM32的Nucleo板集成了ST-LINK/V2-1调试器/编程器,和STM32 Nucleo板搭配的软件包有包含了众多例程的STM32 HAL软件库,在mbed在线平台上也能找到。

该开发板整体结构分为两部分,下载器部分和核心板部分独立分布,其中含有USB接口一侧的板为stlink下载仿真部分,按键及排针排座那一部分为主电路部分。灵活的跳线帽选择,可以使得我们还可以下载与调试其他stm32开发板,只需断开印有丝印“ST—LINK”的跳线帽,同时将CN4排针与其他stm32开发板相连即可。

核心板部分的外扩接口为Arduino标准接口,可以无缝对接常用的传感器,可以使得用户很快的投入研究与使用。无需自己跳线连接。板载一个低速的32768hz的晶振,毕竟主打低功耗芯片,主时钟选择内部振荡器,可以更加减少PCB布局,节约成本等。
开发板附带的彩页,注明STM32L073RZT6的主控芯片为ARM-Contex-M0+,32M主频,192KB的FLASH,20KB的内存,开发板板载了Arduino Uno标准接口与ST morpho接口,板载STM-LINK V2版本进行调试与下载固件。

【开发环境简介】
开发板可以在 win、Linux、MacOS下面进行开发。
开发工具支持MDK、IAR以及stm32cubeIde。
官方提供了stm32cube对开发板的RTOS、USB以及外设的示例。
本次开发采用win11下stm32cubeIDE进行示例的创建、编译、下载与调试。
【创建呼吸灯】
开发板板载了给用户使用的LED灯1个,一个用户使用的按键。工程达到的效果为实现呼吸灯。
1、下载与安装stm32CubeIDE(省略)。
2、打开stm32CubeIDE,(菜单:file->new->STM32 Project)打开新建stm32project对话框,选择board select,新建开发板工程,查询出开发板后选定,按下一步继续配置工程

3、输入工程名称后,按完成,等待工程创建完毕:

第一次生成工程需要等待从官网下载固件包,完成后就生成了工程:

4、要实现呼吸灯,需要配置LED2为PWM输出。在图上点击PA5切换到TM2-CH1。

5、配置钟频率为32MHz,同时TIM2总线的时钟也是32MHz:

6、使能TIM2通道1为PWM输出,时钟源为内部时钟(32MHz),分频为32,计数器为1000,即PWM波为1KHz的频率,使用自动重载,初始占空比为0。

7、选择生成单独的工程文件。按ALT+K或者工具栏上的按键生成代码。

8、添加用户代码:
首先添加使能tim2 channel1:
HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1);
然后添加呼吸灯代码,代码首先对占空比累加,达到100%后,我们再累减到零,往复修改形成呼吸灯的效果。
/* USER CODE BEGIN WHILE */

while (1)

{

/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */

if(F == 0)

{

dutyCycle = dutyCycle+50;

if(dutyCycle >= 1000)

{

dutyCycle = 1000;

F = 1;

}

}

else{

dutyCycle = dutyCycle-50;

if(dutyCycle <= 0)

{

F = 0;

dutyCycle = 0;

}

}

__HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_1,dutyCycle);

HAL_Delay(50);

}



生成代码后,下载到开发板,用示波器接到PA5上观察PWM波形,从示波器上看频率为1KHz,与程度设计的一样。

视频效果如下:

【试用心得】
Stm32的生态非常好,特别是官方的开发板,stm32cubeIDE的开发板的创建工程非常简单,配置外设也是图形化的配置,用户体验感非常好。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

156

主题

744

帖子

10

粉丝