STM32H503开发(1)----开发板测试

描述

概述

STM32H503 & SENSOR是一款基于STM32H5系列微控制器的评估套件。该微控制器采用了40nm工艺制造,具有更快的FLASH访问,更高的性能以及更低的功耗。此外,该套件具有丰富的接口和外设,以及传感器(SENSOR)系列连接器接口,为开发者提供了便捷且灵活的开发环境。

这里通过配置LED和UART输出进行简单测试。

最近在弄ST的教程,需要样片的可以加群申请:615061293/925643491 。

硬件准备

首先需要准备一个开发板,这里我准备的是自己绘制的开发板,需要的可以进行申请。 主控为STM32H503CBT6

开发板

视频教学

[https://www.bilibili.com/video/BV1cdDLYEEdT/]

样品申请

[https://www.wjx.top/vm/OhcKxJk.aspx#]

源码下载

[https://download.csdn.net/download/qq_24312945/89974357]

产品特性

STM32H503xx 设备是基于高性能 Arm ® Cortex ® -M33 32 位 RISC 内核的高性能微控制器系列 (STM32H5 系列) 。它们的工作频率高达 250 MHz。
Cortex ® -M33 内核具有单精度浮点单元 (FPU),支持所有 Arm ®单精度数据处理指令和所有数据类型。
Cortex® - M33内核还实现了全套DSP(数字信号处理)指令以及内存保护单元(MPU),增强了应用程序的安全性。
该设备嵌入高速存储器(128 KB 双组闪存和 32 KB SRAM),以及连接到三条 APB 总线、三条 AHB 总线和一个 32 位多 AHB 总线矩阵的大量增强型 I/O 和外设。

参考程序

[https://github.com/CoreMaker-lab/STM32H503]

[https://gitee.com/CoreMaker/STM32H503]

生成STM32CUBEMX

用STM32CUBEMX生成例程,这里使用MCU为STM32H503CB。

配置时钟树,配置时钟为250M。

开发板

串口配置

查看原理图,PA9和PA10设置为开发板的串口。

开发板

配置串口,速率为115200。

开发板

LED配置

查看原理图,对应LED分别为PA8,PB14,PB15。

开发板

配置如下所示。

开发板

堆栈设置

开发板

若无法正常运行需要修改优化等级。

开发板

串口重定向

打开魔术棒,勾选MicroLIB

开发板

在main.c中,添加头文件,若不添加会出现 identifier "FILE" is undefined报错。

/* USER CODE BEGIN Includes */
#include "stdio.h"
/* USER CODE END Includes */

函数声明和串口重定向:

/* USER CODE BEGIN PFP */
int fputc(int ch, FILE *f){
    HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);
    return ch;
}
/* USER CODE END PFP */

主循环

/* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
        HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);        
        HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET);            
        HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_SET);        
        printf("LED ON!n");
        HAL_Delay(1000);
        HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);        
        HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET);            
        HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET);        
        printf("LED OFF!n");        
        HAL_Delay(1000);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */

演示

开发板

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分