/********************************************************************************************************************* * COPYRIGHT NOTICE * Copyright (c) 2020,逐飞科技 * All rights reserved. * 技术讨论QQ群:三群:824575535 * * 以下所有内容版权均属逐飞科技所有,未经允许不得用于商业用途, * 欢迎各位使用并传播本程序,修改内容时必须保留逐飞科技的版权声明。 * * @file gpio * @company 成都逐飞科技有限公司 * @author 逐飞科技(QQ3184284598) * @version 查看doc内version文件 版本说明 * @Software ADS v1.2.2 * @Target core TC264D * @Taobao https://seekfree.taobao.com/ * @date 2020-3-23 ********************************************************************************************************************/ #ifndef _zf_gpio_h #define _zf_gpio_h #include "common.h" #include "IFXPORT.h" typedef enum // 枚举上下拉选项 { NO_PULL, //无输入上下拉 PULLUP, //输入上拉 PULLDOWN, //输入下拉 PUSHPULL, //推挽输出 OPENDRAIN, //开漏输出 }GPIOMODE_enum; #define GET_PORT_IN_ADDR(pin) (uint8 *)(&IfxPort_getAddress((IfxPort_Index)(pin/32))->IN + pin%32/8) //需要特别注意P20_2是不能用于输出的,仅仅只有输入的功能 //需要特别注意P20_2是不能用于输出的,仅仅只有输入的功能 //需要特别注意P20_2是不能用于输出的,仅仅只有输入的功能 //------------------------------------------------------ //通用GPIO操作 void gpio_init(PIN_enum pin, GPIODIR_enum dir, uint8 dat, GPIOMODE_enum pinconf); void gpio_pin_driver(PIN_enum pin, IfxPort_PadDriver pin_driver); void gpio_set(PIN_enum pin, uint8 dat); uint8 gpio_get(PIN_enum pin); void gpio_dir(PIN_enum pin, GPIODIR_enum dir, GPIOMODE_enum pinconf); void gpio_toggle(PIN_enum pin); #endif