zoukankan      html  css  js  c++  java
  • HAL库_流水灯

    对比标准库的流程使用HAL库编写流水灯

    标准库:

    1.开时钟

    2.初始化GPIOInit结构体

    3.调用GPIO_Init(GPIOB, &GPIO_InitStructure) 初始化函数

     1 typedef struct
     2 {
     3   uint16_t GPIO_Pin;             /*!< Specifies the GPIO pins to be configured.
     4                                       This parameter can be any value of @ref GPIO_pins_define */
     5 
     6   GPIOSpeed_TypeDef GPIO_Speed;  /*!< Specifies the speed for the selected pins.
     7                                      This parameter can be a value of @ref GPIOSpeed_TypeDef */
     8 
     9   GPIOMode_TypeDef GPIO_Mode;    /*!< Specifies the operating mode for the selected pins.
    10                                       This parameter can be a value of @ref GPIOMode_TypeDef */
    11 }GPIO_InitTypeDef;

    HAL流程:

    1.开时钟

    2.从PinOut界面点击引脚,设置GPIO为输出

    3.再标准库中要手动初始化一个GPIO的结构体,现在CubeMx可以让我们使用图形配置的方式设置这些通用的、繁琐的固定的初始化代码。

    从PinOut界面选择了对应的GPIO后按照下面图片上面的方法设置GPIO的模式、速度、上拉和下拉。

     

    千万别忘了打开sys下的debug,不然会导致无法第二次下载程序。

     代码:自己写的代码一定要放在每一个 user code begin 和user code end之间,不然放在cubemx中修改了配置再生成工程时后自动删除我们写的代码。

      /* Infinite loop */
      /* USER CODE BEGIN WHILE */
      while (1)   
      {
             HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_5);
            HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_5);
            HAL_Delay(600);
        /* USER CODE END WHILE */
    
        /* USER CODE BEGIN 3 */
      }
      /* USER CODE END 3 */
  • 相关阅读:
    React在componentDidMount里面发送请求
    React 术语词汇表
    React里受控与非受控组件
    React和Vue等框架什么时候操作DOM
    【LeetCode】79. Word Search
    【LeetCode】91. Decode Ways
    【LeetCode】80. Remove Duplicates from Sorted Array II (2 solutions)
    【LeetCode】1. Two Sum
    【LeetCode】141. Linked List Cycle (2 solutions)
    【LeetCode】120. Triangle (3 solutions)
  • 原文地址:https://www.cnblogs.com/1024E/p/13347718.html
Copyright © 2011-2022 走看看