上传一套YOUTUBE 的视频教程 STM32 Nucleo401RE - Keil 5 MDK with CubeMX- , 一贴一集,适合HAL入门 第二集 按键 代码随后贴上 720p,高清视频, 英文对白, 播放卡顿的话请直接上优酷观看 硬件是Nucleo401RE 不过移植到其他平台也很简单 https://v.youku.com/v_show/id_XMzYyMDAzNzIyOA==.html如果无法播放,请点击此处在新窗口打开detectPlayer("swf_Fmo", "swf", "http://player.youku.com/player.php/sid/XMzYyMDAzNzIyOA==/v.swf", "550", "400");
#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 */
/**
* @brief The 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 */
}
}