这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【DIY手势翻页笔】课程一:点灯+串口打印

共8条 1/1 1 跳转至

【DIY手势翻页笔】课程一:点灯+串口打印

工程师
2024-06-14 23:03:44     打赏

首先要感谢EEPW给这次学习的机会。

本次学习硬件使用STM32H503RBT6开发板,软件使用keil5开发。

环境安装过程中遇到很多问题,现在整理下供大家参考。

一、准备工作:NUCLEO-H503RB开发板套件、STM32CubeMX软件配置工具、STM32Cube_FW_H5_V1.2.0软件包、Keil5编译器、ST-Link驱动

1、NUCLEO-H503RB开发板套件:这里就不做过多介绍。

image.png

2、STM32CubeMX软件配置工具:可在官网下载适合自己的版本。

https://www.st.com.cn/content/st_com/zh/stm32cubemx.html#st-get-software

软件安装下一步至安装完成即可。可默认路径,也可以自己选定路径,不影响使用。

image.png

image.png

剩下步骤可以安装教学视频操作,这里就不多做介绍。

https://p.bokecc.com/qrplay.bo?uid=290666218ACBA694&vid=0848A033B1914040FC9558351D509E7C

重点要说的是,不知道啥原因,我的电脑不能通过此工具更新对应MCU的软件包,所以要进行第3步的手动安装。若能正常安装,可跳过第3步。

3、STM32Cube_FW_H5_V1.2.0软件包:这个是STM32H503的软件包,配置工具配置好管脚之后,通过软件包导出代码。

a.在官网下载STM32H503软件包:

https://www.st.com/en/embedded-software/stm32cubeh5.html

image.png

b.配置软件更新位置:Help -> Updater Settings ...

image.png

在弹出对话框中选择软件包存放位置:默认在c盘,也可以另行设置路径。

image.png

image.png

这样设置之后,会在对应位置生成一个文件夹:将下载的STM32Cube_FW_H5_V1.2.0软件包解压到此处即可。

image.png

按照视频学习配置完代码之后,重点说下导出注意事项:

image.png

image.png

image.png

最后导出代码。

4、Keil5编译器:根据个人需求选择是否更新Keil5,这里就不多做介绍,百度上有很多资料。

Keil需要安装H503的PACK:Keil.STM32H5xx_DFP.1.3.0.pack。

若是比较新的Keil5,可直接在Keil5中安装;

若不是最新的,可在通过下方链接下载,或者使用EEPW资料包中的,或者在ST官网中下载,直接双击安装即可,途径很多。

https://blog.csdn.net/shizes1989/article/details/90754279

5、ST-Link驱动:第一次使用ST-Link,需要安装驱动。

驱动可通过官方Programmer软件安装,也可以在官网直接下载驱动:

a.官方STM32CubeProgrammer软件:

https://www.st.com.cn/zh/development-tools/stm32cubeprog.html

image.png

image.png

b.官方ST-Link驱动:

https://www.st.com.cn/zh/development-tools/stsw-link009.html

image.png

二、硬件配置:

1、LDE灯:使用PA5

image.png

2、串口:使用ST-Link本身支持的串口UART3

image.png

image.png

三、代码编写:跟着视频学习,导出代码是没有功能的,需要自己填写对应代码。

1、点灯:使用PA5,1秒切换一次

HAL_Delay(1000);
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);

2、串口打印:使用UART3,1秒输出一次。教学视频使用的数组输出,这里使用printf()。

HAL_Delay(1000);
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
printf("hello eepw! hello stm32h503! \r\n");

image.png

使用printf()需要对串口重定义,如下:

#include "stdio.h"
/* 串口重定义 */
int fputc(int ch, FILE *f)
{
  HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, HAL_MAX_DELAY);
  return ch;
}

image.png

四、结果输出

image.png






关键词: 手势     翻页     串口     点灯    

专家
2024-06-15 00:39:36     打赏
2楼

感谢楼主分享


专家
2024-06-15 01:38:03     打赏
3楼

感谢楼主分享


院士
2024-06-15 07:13:52     打赏
4楼

谢谢楼主的分享~!


专家
2024-06-15 08:55:51     打赏
5楼

感谢楼主分享


专家
2024-06-15 11:16:42     打赏
6楼

不错,学习了


专家
2024-06-15 19:31:16     打赏
7楼

不错,学习了


助工
2024-06-21 13:53:50     打赏
8楼

感谢分享


共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]