sysfs_gpio.h (2769B)
1 /***************************************************************************** 2 * | File : sysfs_gpio.h 3 * | Author : Waveshare team 4 * | Function : Drive SC16IS752 GPIO 5 * | Info : Read and write /sys/class/gpio 6 *---------------- 7 * | This version: V1.0 8 * | Date : 2019-06-04 9 * | Info : Basic version 10 * 11 # 12 # Permission is hereby granted, free of charge, to any person obtaining a copy 13 # of this software and associated documnetation files (the "Software"), to deal 14 # in the Software without restriction, including without limitation the rights 15 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 16 # copies of the Software, and to permit persons to whom the Software is 17 # furished to do so, subject to the following conditions: 18 # 19 # The above copyright notice and this permission notice shall be included in 20 # all copies or substantial portions of the Software. 21 # 22 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 23 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 24 # FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 25 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 26 # LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 27 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 28 # THE SOFTWARE. 29 # 30 ******************************************************************************/ 31 #ifndef __SYSFS_GPIO_ 32 #define __SYSFS_GPIO_ 33 34 #include <stdio.h> 35 36 #define IN 0 37 #define OUT 1 38 39 #define LOW 0 40 #define HIGH 1 41 42 #define NUM_MAXBUF 4 43 #define DIR_MAXSIZ 60 44 45 #define SYSFS_GPIO_DEBUG 1 46 #if SYSFS_GPIO_DEBUG 47 #define SYSFS_GPIO_Debug(__info,...) printf("Debug: " __info,##__VA_ARGS__) 48 #else 49 #define SYSFS_GPIO_Debug(__info,...) 50 #endif 51 52 // BCM GPIO for Jetson nano 53 #define GPIO4 216 // 7, 4 54 #define GPIO17 50 // 11, 17 55 #define GPIO18 79 // 12, 18 56 #define GPIO27 14 // 13, 27 57 #define GPIO22 194 // 15, 22 58 #define GPIO23 232 // 16, 23 59 #define GPIO24 15 // 18, 24 60 #define SPI0_MOSI 16 // 19, 10 61 #define SPI0_MISO 17 // 21, 9 62 #define GPIO25 13 // 22, 25 63 #define SPI0_SCK 18 // 23, 11 64 #define SPI0_CS0 19 // 24, 8 65 #define SPI0_CS1 20 // 26, 7 66 #define GPIO5 149 // 29, 5 67 #define GPIO6 200 // 31, 6 68 #define GPIO12 168 // 32, 12 69 #define GPIO13 38 // 33, 13 70 #define GPIO19 76 // 35, 19 71 #define GPIO16 51 // 36, 16 72 #define GPIO26 12 // 37, 26 73 #define GPIO20 77 // 38, 20 74 #define GPIO21 78 // 40, 21 75 // 22PIN + 2PIN UART0 + 2PIN I2C0 + 2PIN I2C 76 // + 2PIN 3V3 + 2PIN 5V + 8PIN GND = 40PIN 77 78 int SYSFS_GPIO_Export(int Pin); 79 int SYSFS_GPIO_Unexport(int Pin); 80 int SYSFS_GPIO_Direction(int Pin, int Dir); 81 int SYSFS_GPIO_Read(int Pin); 82 int SYSFS_GPIO_Write(int Pin, int value); 83 84 #endif