anywill 发表于 2018-5-22 10:45:27

HAL库+Nucleo+CubeMX+MDK5- 视频教程连载2

上传一套YOUTUBE 的视频教程

STM32 Nucleo401RE - Keil 5 MDK with CubeMX- ,

一贴一集,适合HAL入门

第二集 按键

代码随后贴上
720p,高清视频,
英文对白,
播放卡顿的话请直接上优酷观看
硬件是Nucleo401RE
不过移植到其他平台也很简单


https://v.youku.com/v_show/id_XMzYyMDAzNzIyOA==.htmlhttp://player.youku.com/player.php/sid/XMzYyMDAzNzIyOA==/v.swf



anywill 发表于 2018-5-22 10:50:14

本帖最后由 anywill 于 2018-5-22 14:57 编辑

#include "main.h"
#include "stm32f4xx_hal.h"

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

/* Private variables ---------------------------------------------------------*/
UART_HandleTypeDef huart2;

/* USER CODE BEGIN PV */
/* Private variables ---------------------------------------------------------*/

/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USART2_UART_Init(void);

/* USER CODE BEGIN PFP */
/* Private function prototypes -----------------------------------------------*/

/* USER CODE END PFP */

/* USER CODE BEGIN 0 */
bool tempVar=true;
/* USER CODE END 0 */

/**
* @briefThe application entry point.
*
* @retval None
*/
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_USART2_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 */
        if (HAL_GPIO_ReadPin (GPIOC,GPIO_PIN_13)&&tempVar)//PC13 default high voltage
        {       
               
                HAL_Delay(10);//contact stability
                if(HAL_GPIO_ReadPin (GPIOC,GPIO_PIN_13))
                        {
                        HAL_GPIO_TogglePin (GPIOA,GPIO_PIN_5);
                        tempVar=false;
                        }
        }
        else if(HAL_GPIO_ReadPin (GPIOC,GPIO_PIN_13)==GPIO_PIN_RESET&&tempVar==false )//
        {       
                HAL_Delay(10);//contact stability
                if(HAL_GPIO_ReadPin (GPIOC,GPIO_PIN_13)==GPIO_PIN_RESET)
                {
                        tempVar=true;
          }
    }
/* USER CODE END 3 */

}
}

页: [1]
查看完整版本: HAL库+Nucleo+CubeMX+MDK5- 视频教程连载2