152 lines
5.3 KiB
C
152 lines
5.3 KiB
C
/* USER CODE BEGIN Header */
|
||
/**
|
||
******************************************************************************
|
||
* @file : main.h
|
||
* @brief : Header for main.c file.
|
||
* This file contains the common defines of the application.
|
||
******************************************************************************
|
||
* @attention
|
||
*
|
||
* <h2><center>© Copyright (c) 2019 STMicroelectronics.
|
||
* All rights reserved.</center></h2>
|
||
*
|
||
* This software component is licensed by ST under Ultimate Liberty license
|
||
* SLA0044, the "License"; You may not use this file except in compliance with
|
||
* the License. You may obtain a copy of the License at:
|
||
* www.st.com/SLA0044
|
||
*
|
||
******************************************************************************
|
||
*/
|
||
/* USER CODE END Header */
|
||
|
||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||
#ifndef __MAIN_H
|
||
#define __MAIN_H
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
/* Includes ------------------------------------------------------------------*/
|
||
#include "stm32f4xx_hal.h"
|
||
|
||
/* Private includes ----------------------------------------------------------*/
|
||
/* USER CODE BEGIN Includes */
|
||
|
||
/* USER CODE END Includes */
|
||
|
||
/* Exported types ------------------------------------------------------------*/
|
||
/* USER CODE BEGIN ET */
|
||
|
||
/* USER CODE END ET */
|
||
|
||
/* Exported constants --------------------------------------------------------*/
|
||
/* USER CODE BEGIN EC */
|
||
|
||
/* USER CODE END EC */
|
||
|
||
/* Exported macro ------------------------------------------------------------*/
|
||
/* USER CODE BEGIN EM */
|
||
|
||
/* USER CODE END EM */
|
||
|
||
/* Exported functions prototypes ---------------------------------------------*/
|
||
void Error_Handler(void);
|
||
|
||
/* USER CODE BEGIN EFP */
|
||
|
||
/* USER CODE END EFP */
|
||
|
||
/* Private defines -----------------------------------------------------------*/
|
||
#define KEY2_Pin GPIO_PIN_13
|
||
#define KEY2_GPIO_Port GPIOC
|
||
#define KEY2_EXTI_IRQn EXTI15_10_IRQn
|
||
#define WAKUP_Pin GPIO_PIN_0
|
||
#define WAKUP_GPIO_Port GPIOA
|
||
#define WAKUP_EXTI_IRQn EXTI0_IRQn
|
||
#define KEY1_Pin GPIO_PIN_2
|
||
#define KEY1_GPIO_Port GPIOH
|
||
#define KEY1_EXTI_IRQn EXTI2_IRQn
|
||
#define KEY0_Pin GPIO_PIN_3
|
||
#define KEY0_GPIO_Port GPIOH
|
||
#define KEY0_EXTI_IRQn EXTI3_IRQn
|
||
#define LED0_Pin GPIO_PIN_0
|
||
#define LED0_GPIO_Port GPIOB
|
||
#define LED1_Pin GPIO_PIN_1
|
||
#define LED1_GPIO_Port GPIOB
|
||
/* USER CODE BEGIN Private defines */
|
||
//λ<><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ʵ<><CAB5>51<35><31><EFBFBD>Ƶ<EFBFBD>GPIO<49><4F><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>
|
||
//<2F><><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>˼<EFBFBD><CBBC>,<2C>ο<EFBFBD><<CM3Ȩ<33><C8A8>ָ<EFBFBD><D6B8>>><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(87ҳ~92ҳ).M4ͬM3<4D><33><EFBFBD><EFBFBD>,ֻ<>ǼĴ<C7BC><C4B4><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>.
|
||
//IO<49>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>궨<EFBFBD><EAB6A8>
|
||
#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2))
|
||
#define MEM_ADDR(addr) *((volatile unsigned long *)(addr))
|
||
#define BIT_ADDR(addr, bitnum) MEM_ADDR(BITBAND(addr, bitnum))
|
||
//IO<49>ڵ<EFBFBD>ַӳ<D6B7><D3B3>
|
||
#define GPIOA_ODR_Addr (GPIOA_BASE+20) //0x40020014
|
||
#define GPIOB_ODR_Addr (GPIOB_BASE+20) //0x40020414
|
||
#define GPIOC_ODR_Addr (GPIOC_BASE+20) //0x40020814
|
||
#define GPIOD_ODR_Addr (GPIOD_BASE+20) //0x40020C14
|
||
#define GPIOE_ODR_Addr (GPIOE_BASE+20) //0x40021014
|
||
#define GPIOF_ODR_Addr (GPIOF_BASE+20) //0x40021414
|
||
#define GPIOG_ODR_Addr (GPIOG_BASE+20) //0x40021814
|
||
#define GPIOH_ODR_Addr (GPIOH_BASE+20) //0x40021C14
|
||
#define GPIOI_ODR_Addr (GPIOI_BASE+20) //0x40022014
|
||
#define GPIOJ_ODR_ADDr (GPIOJ_BASE+20) //0x40022414
|
||
#define GPIOK_ODR_ADDr (GPIOK_BASE+20) //0x40022814
|
||
|
||
#define GPIOA_IDR_Addr (GPIOA_BASE+16) //0x40020010
|
||
#define GPIOB_IDR_Addr (GPIOB_BASE+16) //0x40020410
|
||
#define GPIOC_IDR_Addr (GPIOC_BASE+16) //0x40020810
|
||
#define GPIOD_IDR_Addr (GPIOD_BASE+16) //0x40020C10
|
||
#define GPIOE_IDR_Addr (GPIOE_BASE+16) //0x40021010
|
||
#define GPIOF_IDR_Addr (GPIOF_BASE+16) //0x40021410
|
||
#define GPIOG_IDR_Addr (GPIOG_BASE+16) //0x40021810
|
||
#define GPIOH_IDR_Addr (GPIOH_BASE+16) //0x40021C10
|
||
#define GPIOI_IDR_Addr (GPIOI_BASE+16) //0x40022010
|
||
#define GPIOJ_IDR_Addr (GPIOJ_BASE+16) //0x40022410
|
||
#define GPIOK_IDR_Addr (GPIOK_BASE+16) //0x40022810
|
||
|
||
//IO<49>ڲ<EFBFBD><DAB2><EFBFBD>,ֻ<>Ե<EFBFBD>һ<EFBFBD><D2BB>IO<49><4F>!
|
||
//ȷ<><C8B7>n<EFBFBD><6E>ֵС<D6B5><D0A1>16!
|
||
#define PAout(n) BIT_ADDR(GPIOA_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
#define PAin(n) BIT_ADDR(GPIOA_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
|
||
#define PBout(n) BIT_ADDR(GPIOB_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
#define PBin(n) BIT_ADDR(GPIOB_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
|
||
#define PCout(n) BIT_ADDR(GPIOC_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
#define PCin(n) BIT_ADDR(GPIOC_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
|
||
#define PDout(n) BIT_ADDR(GPIOD_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
#define PDin(n) BIT_ADDR(GPIOD_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
|
||
#define PEout(n) BIT_ADDR(GPIOE_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
#define PEin(n) BIT_ADDR(GPIOE_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
|
||
#define PFout(n) BIT_ADDR(GPIOF_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
#define PFin(n) BIT_ADDR(GPIOF_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
|
||
#define PGout(n) BIT_ADDR(GPIOG_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
#define PGin(n) BIT_ADDR(GPIOG_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
|
||
#define PHout(n) BIT_ADDR(GPIOH_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
#define PHin(n) BIT_ADDR(GPIOH_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
|
||
#define PIout(n) BIT_ADDR(GPIOI_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
#define PIin(n) BIT_ADDR(GPIOI_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
|
||
#define PJout(n) BIT_ADDR(GPIOJ_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
#define PJin(n) BIT_ADDR(GPIOJ_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
|
||
#define PKout(n) BIT_ADDR(GPIOK_ODR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
#define PKin(n) BIT_ADDR(GPIOK_IDR_Addr,n) //<2F><><EFBFBD><EFBFBD>
|
||
/* USER CODE END Private defines */
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif /* __MAIN_H */
|
||
|
||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|