【Nucleo】STM32H743ZI - 入手篇
【Nucleo】STM32H743ZI - RT-Thread 最小系统
背景
- 今天【Nucleo】STM32H743ZI 的开发板到手了,开始让它跑起来。
- 下载相关的资料,MCU的数据手册,参考手册,开发板的原理图等。
- 首先是裸机点灯。
工程搭建
一、这里使用STM32CubeMX创建裸机工程:Keil MDK5,配置时钟与外设引脚。
二、经过查看原理图,发现外部晶振HSE没有焊接。输入主频480(Mhz),配置好时钟
三、查看串口引脚配置:与ST-Link V3连接的串口为:USART3
四、生成MDK-ARM (Keil MDK5)工程
五、配置好LED灯的引脚
六、生成keil MDK5 工程后,打开工程,编译,下载。
工程验证
编写LED闪烁的程序,下载到开发板,发现LED正常的闪烁。
#include "main.h"
#include <string.h>
UART_HandleTypeDef huart3;
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USART3_UART_Init(void);
void bsp_printf(uint8_t *buf, int len)
{
HAL_UART_Transmit(&huart3, buf, len, 1000);
}
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_USART3_UART_Init();
bsp_printf((uint8_t *)("Hello, STM32H743!\r\n"), strlen("Hello, STM32H743!\r\n"));
while (1)
{
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOE, GPIO_PIN_1, GPIO_PIN_SET);
bsp_printf((uint8_t *)("LED On!\r\n"), strlen("LED On!\r\n"));
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOE, GPIO_PIN_1, GPIO_PIN_RESET);
bsp_printf((uint8_t *)("LED Off!\r\n"), strlen("LED Off!\r\n"));
HAL_Delay(1000);
}
}
总结
- 点灯还是比较的顺利
- 后面继续研究,实现RTOS的移植