123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- #ifndef __STM8S_GPIO_H
- #define __STM8S_GPIO_H
- #include "stm8s.h"
- typedef enum
- {
- GPIO_MODE_IN_FL_NO_IT = (uint8_t)0x00,
- GPIO_MODE_IN_PU_NO_IT = (uint8_t)0x40,
- GPIO_MODE_IN_FL_IT = (uint8_t)0x20,
- GPIO_MODE_IN_PU_IT = (uint8_t)0x60,
- GPIO_MODE_OUT_OD_LOW_FAST = (uint8_t)0xA0,
- GPIO_MODE_OUT_PP_LOW_FAST = (uint8_t)0xE0,
- GPIO_MODE_OUT_OD_LOW_SLOW = (uint8_t)0x80,
- GPIO_MODE_OUT_PP_LOW_SLOW = (uint8_t)0xC0,
- GPIO_MODE_OUT_OD_HIZ_FAST = (uint8_t)0xB0,
- GPIO_MODE_OUT_PP_HIGH_FAST = (uint8_t)0xF0,
- GPIO_MODE_OUT_OD_HIZ_SLOW = (uint8_t)0x90,
- GPIO_MODE_OUT_PP_HIGH_SLOW = (uint8_t)0xD0
- }GPIO_Mode_TypeDef;
- typedef enum
- {
- GPIO_PIN_0 = ((uint8_t)0x01),
- GPIO_PIN_1 = ((uint8_t)0x02),
- GPIO_PIN_2 = ((uint8_t)0x04),
- GPIO_PIN_3 = ((uint8_t)0x08),
- GPIO_PIN_4 = ((uint8_t)0x10),
- GPIO_PIN_5 = ((uint8_t)0x20),
- GPIO_PIN_6 = ((uint8_t)0x40),
- GPIO_PIN_7 = ((uint8_t)0x80),
- GPIO_PIN_LNIB = ((uint8_t)0x0F),
- GPIO_PIN_HNIB = ((uint8_t)0xF0),
- GPIO_PIN_ALL = ((uint8_t)0xFF)
- }GPIO_Pin_TypeDef;
- #define IS_GPIO_MODE_OK(MODE) \
- (((MODE) == GPIO_MODE_IN_FL_NO_IT) || \
- ((MODE) == GPIO_MODE_IN_PU_NO_IT) || \
- ((MODE) == GPIO_MODE_IN_FL_IT) || \
- ((MODE) == GPIO_MODE_IN_PU_IT) || \
- ((MODE) == GPIO_MODE_OUT_OD_LOW_FAST) || \
- ((MODE) == GPIO_MODE_OUT_PP_LOW_FAST) || \
- ((MODE) == GPIO_MODE_OUT_OD_LOW_SLOW) || \
- ((MODE) == GPIO_MODE_OUT_PP_LOW_SLOW) || \
- ((MODE) == GPIO_MODE_OUT_OD_HIZ_FAST) || \
- ((MODE) == GPIO_MODE_OUT_PP_HIGH_FAST) || \
- ((MODE) == GPIO_MODE_OUT_OD_HIZ_SLOW) || \
- ((MODE) == GPIO_MODE_OUT_PP_HIGH_SLOW))
- #define IS_GPIO_PIN_OK(PIN) ((PIN) != (uint8_t)0x00)
- void GPIO_DeInit(GPIO_TypeDef* GPIOx);
- void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin, GPIO_Mode_TypeDef GPIO_Mode);
- void GPIO_Write(GPIO_TypeDef* GPIOx, uint8_t PortVal);
- void GPIO_WriteHigh(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef PortPins);
- void GPIO_WriteLow(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef PortPins);
- void GPIO_WriteReverse(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef PortPins);
- uint8_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);
- uint8_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);
- BitStatus GPIO_ReadInputPin(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin);
- void GPIO_ExternalPullUpConfig(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin, FunctionalState NewState);
- #endif
|