1 /* 2 * Copyright (c) 2006-2021, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2018-11-5 zylx first version 9 */ 10 11 #ifndef __EXT_IO_H__ 12 #define __EXT_IO_H__ 13 14 #include "rtthread.h" 15 /* 16 armfly STM32-V6 Development board Extend IO 17 D0 - GPRS_RERM_ON 18 D1 - GPRS_RESET 19 D2 - NRF24L01_CE 20 D3 - NRF905_TX_EN 21 D4 - NRF905_TRX_CE/VS1053_XDCS 22 D5 - NRF905_PWR_UP 23 D6 - ESP8266_G0 24 D7 - ESP8266_G2 25 26 D8 - LED1 27 D9 - LED2 28 D10 - LED3 29 D11 - LED4 30 D12 - TP_NRST 31 D13 - AD7606_OS0 32 D14 - AD7606_OS1 33 D15 - AD7606_OS2 34 35 GPIO can output 5V 36 D16 - Y50_0 37 D17 - Y50_1 38 D18 - Y50_2 39 D19 - Y50_3 40 D20 - Y50_4 41 D21 - Y50_5 42 D22 - Y50_6 43 D23 - Y50_7 44 45 GPIO can output 3.3V 46 D24 - AD7606_RESET 47 D25 - AD7606_RAGE 48 D26 - Y33_2 49 D27 - Y33_3 50 D28 - Y33_4 51 D29 - Y33_5 52 D30 - Y33_6 53 D31 - Y33_7 54 */ 55 56 #ifndef GPIO_Pin_0 57 #define GPIO_Pin_0 ((uint16_t)0x0001) /* Pin 0 selected */ 58 #define GPIO_Pin_1 ((uint16_t)0x0002) /* Pin 1 selected */ 59 #define GPIO_Pin_2 ((uint16_t)0x0004) /* Pin 2 selected */ 60 #define GPIO_Pin_3 ((uint16_t)0x0008) /* Pin 3 selected */ 61 #define GPIO_Pin_4 ((uint16_t)0x0010) /* Pin 4 selected */ 62 #define GPIO_Pin_5 ((uint16_t)0x0020) /* Pin 5 selected */ 63 #define GPIO_Pin_6 ((uint16_t)0x0040) /* Pin 6 selected */ 64 #define GPIO_Pin_7 ((uint16_t)0x0080) /* Pin 7 selected */ 65 #define GPIO_Pin_8 ((uint16_t)0x0100) /* Pin 8 selected */ 66 #define GPIO_Pin_9 ((uint16_t)0x0200) /* Pin 9 selected */ 67 #define GPIO_Pin_10 ((uint16_t)0x0400) /* Pin 10 selected */ 68 #define GPIO_Pin_11 ((uint16_t)0x0800) /* Pin 11 selected */ 69 #define GPIO_Pin_12 ((uint16_t)0x1000) /* Pin 12 selected */ 70 #define GPIO_Pin_13 ((uint16_t)0x2000) /* Pin 13 selected */ 71 #define GPIO_Pin_14 ((uint16_t)0x4000) /* Pin 14 selected */ 72 #define GPIO_Pin_15 ((uint16_t)0x8000) /* Pin 15 selected */ 73 #endif 74 75 #define GPIO_Pin_16 ((uint32_t)0x00010000) /* Pin 0 selected */ 76 #define GPIO_Pin_17 ((uint32_t)0x00020000) /* Pin 1 selected */ 77 #define GPIO_Pin_18 ((uint32_t)0x00040000) /* Pin 2 selected */ 78 #define GPIO_Pin_19 ((uint32_t)0x00080000) /* Pin 3 selected */ 79 #define GPIO_Pin_20 ((uint32_t)0x00100000) /* Pin 4 selected */ 80 #define GPIO_Pin_21 ((uint32_t)0x00200000) /* Pin 5 selected */ 81 #define GPIO_Pin_22 ((uint32_t)0x00400000) /* Pin 6 selected */ 82 #define GPIO_Pin_23 ((uint32_t)0x00800000) /* Pin 7 selected */ 83 #define GPIO_Pin_24 ((uint32_t)0x01000000) /* Pin 8 selected */ 84 #define GPIO_Pin_25 ((uint32_t)0x02000000) /* Pin 9 selected */ 85 #define GPIO_Pin_26 ((uint32_t)0x04000000) /* Pin 10 selected */ 86 #define GPIO_Pin_27 ((uint32_t)0x08000000) /* Pin 11 selected */ 87 #define GPIO_Pin_28 ((uint32_t)0x10000000) /* Pin 12 selected */ 88 #define GPIO_Pin_29 ((uint32_t)0x20000000) /* Pin 13 selected */ 89 #define GPIO_Pin_30 ((uint32_t)0x40000000) /* Pin 14 selected */ 90 #define GPIO_Pin_31 ((uint32_t)0x80000000) /* Pin 15 selected */ 91 92 /* Rename the macro for the sake of memory */ 93 #define GPRS_TERM_ON GPIO_Pin_0 94 #define GPRS_RESET GPIO_Pin_1 95 #define NRF24L01_CE GPIO_Pin_2 96 #define NRF905_TX_EN GPIO_Pin_3 97 #define NRF905_TRX_CE GPIO_Pin_4 98 #define VS1053_XDCS GPIO_Pin_4 99 #define NRF905_PWR_UP GPIO_Pin_5 100 #define ESP8266_G0 GPIO_Pin_6 101 #define ESP8266_G2 GPIO_Pin_7 102 103 #define LED1 GPIO_Pin_8 104 #define LED2 GPIO_Pin_9 105 #define LED3 GPIO_Pin_10 106 #define LED4 GPIO_Pin_11 107 #define TP_NRST GPIO_Pin_12 108 #define AD7606_OS0 GPIO_Pin_13 109 #define AD7606_OS1 GPIO_Pin_14 110 #define AD7606_OS2 GPIO_Pin_15 111 112 #define Y50_0 GPIO_Pin_16 113 #define Y50_1 GPIO_Pin_17 114 #define Y50_2 GPIO_Pin_18 115 #define Y50_3 GPIO_Pin_19 116 #define Y50_4 GPIO_Pin_20 117 #define Y50_5 GPIO_Pin_21 118 #define Y50_6 GPIO_Pin_22 119 #define Y50_7 GPIO_Pin_23 120 121 #define AD7606_RESET GPIO_Pin_24 122 #define AD7606_RANGE GPIO_Pin_25 123 #define Y33_2 GPIO_Pin_26 124 #define Y33_3 GPIO_Pin_27 125 #define Y33_4 GPIO_Pin_28 126 #define Y33_5 GPIO_Pin_29 127 #define Y33_6 GPIO_Pin_30 128 #define Y33_7 GPIO_Pin_31 129 130 void HC574_SetPin(rt_uint32_t _pin, uint8_t _value); 131 rt_uint8_t HC574_GetPin(rt_uint32_t _pin); 132 133 #endif /* __EXT_IO_H__ */ 134