• STM32F373(青风)+CUBEMX快速上手


    STM32F373(青风)+CUBEMX快速上手

    Created: Nov 23, 2019 7:43 PM
    Tags: CUBEMX,STM32

    硬件熟悉

    连接线

    USB-TYPEB电源线一根,用于给板子供电,亦可以使用纽扣电池供电。

    MAX232-USB 串口线一根, 用于串口通信以及程序下载。串口下载程序步骤繁琐,故不推荐,具体步骤见相关文档:

    工具篇:串口下载.doc

    关于下载方式,推荐使用ST_LINK 或者J_LINK。

    开发板

    开发板电路图见下面的文档

    stm32f373R64.pdf

    需要注意的地方:

    • 时钟

      芯片的低速时钟引脚: OSC32_IN & OSC32_OUT 接晶振Y2 频率为32.768kHz

      芯片的高速时钟引脚: OSC_IN & OSC_OUT 接晶振Y1 频率为8MHz

    • Debug

      Wakeup 唤醒引脚为PC13 复用功能为 SYS_WAKEUP2

      Debug模式为串行方式。


    资料准备

    数据手册;参考手册;开发板电路图。


    STM32CUBEMX新建MDK工程

    STM32CUBEMX下载安装

    STM32CUBEMX可以直接在ST官网搜索下载,但在这之前最好注册账号并登录。网址如下:

    Home - STMicroelectronics

    KEIL MDK-ARM 下载安装

    STM32CUBEMX使用

    • 安装完成后打开软件,初始页面如下:

    • New Project 里点击 ACCESS TO MCU SELECTOR

      寻找并选择芯片型号 STM32F373RCTx ,选择并点击START Project

    • 工程设置界面如下

      可以通过左侧功能栏选择需要的外设,亦可以直接点击芯片引脚,选择复用功能。

    • 时钟树配置

      通过修改锁相环参数和预分频系数将频率设置为需要的大小。

    • 工程管理并生成MDK工程

      1. 在Project Name 里命名;
      2. 选择工程目录
      3. 选择 Toolchan/IDE 为MDK-ARM
      4. 在左侧 Code Generator - Generated Files 勾选 Generate peripheral initialization as a pair of '.c/.h' files per peripheral. 可以使工程目录更清晰。
      5. 点击左上 GENERATE CODE , 选择open project.


    STM32F373上手

    工程建立

    • 使用STM32CUBEMX新建一个工程。
      • 新建工程步骤前面已经叙述,下面主要叙述如何配置。

        1. System Core-SYS-DEBUG 选择 Serial Wire; 勾选 System Wake-up 2;

        2. System Core-RCC HSE&LSE 均选择 Crystal Resonator;

          开发板因为高速晶振和低速晶振都使用外部晶振, 高速为8MHz, 低速为32 kHz

        3. 在引脚分布图上点击 PF6 复用功能选择 GPIO_Output, 右击 PF6 点击 Enter User Label , 输入 LED1 ;

          类似地,完成 PF7→ LED2 的设置。在 System Core- GPIO 里设置PF6,PF7的属性为pull-up。

        4. 完成名称、目录等配置,点击GENERATE CODE, 进入keil MDK工程,在/* USER CODE BEGIN/ 和 / USER CODE END*/ 中填入自己的代码,防止重新生成工程后擦除。

        5. 编写代码如下,编译,生成HEX文件。

           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_USART1_UART_Init();
             /* USER CODE BEGIN 2 */
           
             /* USER CODE END 2 */
           
             /* Infinite loop */
             /* USER CODE BEGIN WHILE */
             while (1)
             {
               /* USER CODE END WHILE */
           
               /* USER CODE BEGIN 3 */
           		HAL_Delay(500);
           		HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);
             }
             /* USER CODE END 3 */
           }
          
        6. 使用串口下载器,下载。Reset, LED1 开始闪烁。

  • 相关阅读:
    云计算在未来发展中的重要性体现在哪里?
    四大优势凸显,云计算成大势所趋
    边缘计算的今天、明天和未来
    以太坊年底前这5件大事,能否带来大惊喜?
    量子计算是什么?它到底有什么用?
    加快边缘计算发展的十大趋势
    树结构练习——排序二叉树的中序遍历
    树结构练习——排序二叉树的中序遍历
    数据结构实验之二叉树的建立与遍历
    数据结构实验之二叉树的建立与遍历
  • 原文地址:https://www.cnblogs.com/William-Prozac/p/11919828.html
Copyright © 2020-2023  润新知