当前位置: 代码迷 >> 综合 >> STM32CubeMX Nucleo F767ZI 教程(1)
  详细解决方案

STM32CubeMX Nucleo F767ZI 教程(1)

热度:47   发布时间:2023-12-29 23:32:06.0

STM32CubeMX Nucleo F767ZI 教程(1)

STM32CubeMX Nucleo F767ZI 教程(1)

文章目录

  • STM32CubeMX Nucleo F767ZI 教程(1)
  • 前言
  • 一、开发环境以及要求
    • 1.开发板 NUCLEO-F767ZI
    • 2.STM32CubeMX Version 6.1.1
    • 3.MDK-ARM
  • 二、简单的LED入门项目
    • 1.STM32CubeMX配置
    • 2.MDK-ARM 代码编写


前言

官网上买了个NUCLEO F767ZI 的开发板,144引脚的芯片,本系列的文章就是记录整个学习的过程。默认大家是有一定的基础,有些地方过于简单的就不进行说明了。 这块开发板的网址贴在下方了。

https://www.st.com/content/st_com/zh/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-nucleo-boards/nucleo-f767zi.html。


一、开发环境以及要求

1.开发板 NUCLEO-F767ZI

Nucleo F767ZI

2.STM32CubeMX Version 6.1.1

3.MDK-ARM

二、简单的LED入门项目

1.STM32CubeMX配置

选择这个开发板对应的选择界面
选择对应的开发板
选择之后,它会提示按照默认的模式进行配置项目文件,我们点OK即可。
在UM1974 文档中的 6.8 OSC clock 一章中有说明。

MCO from ST-LINK (Default): MCO output of ST-LINK is used as input
clock. This frequency cannot be changed, it is fixed at 8 MHz and
connected to the PF0/PH0-OSC_IN of STM32 microcontroller.

板载了一个ST-LINK V2.1,这颗F767芯片的输入时钟是由ST-LINK的MCO提供的。此处我们要修改一下RCC的配置选项,使得主频达到最高。
RCC时钟配置
其他的暂时可以不用修改。然后进入项目配置页面,设置一下以生成MDK-ARM的工程文件,然后以单个文件的形式生成各个驱动。

CodeGenerator
然后就可以点击右上角的 GENERATE CODE 生成项目文件。

2.MDK-ARM 代码编写

int main(void)
{
    /* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();//MX_ETH_Init();MX_USART3_UART_Init();MX_USB_OTG_FS_PCD_Init();/* USER CODE BEGIN 2 *//* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){
    HAL_GPIO_TogglePin(LD1_GPIO_Port,LD1_Pin);HAL_GPIO_TogglePin(LD2_GPIO_Port,LD2_Pin);HAL_GPIO_TogglePin(LD3_GPIO_Port,LD3_Pin);HAL_Delay(100);/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */
}

此处需要把 MX_ETH_Init(); 注释掉,不然需要插入网线才能往下跑。
下载代码,复位一下,就能看到三个LED在闪烁了。

  相关解决方案