add cortex-v7a support
How To Run: see TencentOS-tiny\board\ALPHA_I.MX_emmc_256ddr\README.md TODO Next: 1. VFP support 2. fault diagnosis support 3. qemu vexpress ca9 support 4. raspberry pi support 5. SMP support
This commit is contained in:
61
board/ALPHA_I.MX_emmc_256ddr/bsp/gpio/bsp_gpio.h
Normal file
61
board/ALPHA_I.MX_emmc_256ddr/bsp/gpio/bsp_gpio.h
Normal file
@@ -0,0 +1,61 @@
|
||||
#ifndef _BSP_GPIO_H
|
||||
#define _BSP_GPIO_H
|
||||
#define _BSP_KEY_H
|
||||
#include "bsp.h"
|
||||
/***************************************************************
|
||||
Copyright © zuozhongkai Co., Ltd. 1998-2019. All rights reserved.
|
||||
文件名 : bsp_gpio.h
|
||||
作者 : 左忠凯
|
||||
版本 : V1.0
|
||||
描述 : GPIO操作文件头文件。
|
||||
其他 : 无
|
||||
论坛 : www.openedv.com
|
||||
日志 : 初版V1.0 2019/1/4 左忠凯创建
|
||||
V2.0 2019/1/4 左忠凯修改
|
||||
添加GPIO中断相关定义
|
||||
|
||||
***************************************************************/
|
||||
|
||||
/*
|
||||
* 枚举类型和结构体定义
|
||||
*/
|
||||
typedef enum _gpio_pin_direction
|
||||
{
|
||||
kGPIO_DigitalInput = 0U, /* 输入 */
|
||||
kGPIO_DigitalOutput = 1U, /* 输出 */
|
||||
} gpio_pin_direction_t;
|
||||
|
||||
/*
|
||||
* GPIO中断触发类型枚举
|
||||
*/
|
||||
typedef enum _gpio_interrupt_mode
|
||||
{
|
||||
kGPIO_NoIntmode = 0U, /* 无中断功能 */
|
||||
kGPIO_IntLowLevel = 1U, /* 低电平触发 */
|
||||
kGPIO_IntHighLevel = 2U, /* 高电平触发 */
|
||||
kGPIO_IntRisingEdge = 3U, /* 上升沿触发 */
|
||||
kGPIO_IntFallingEdge = 4U, /* 下降沿触发 */
|
||||
kGPIO_IntRisingOrFallingEdge = 5U, /* 上升沿和下降沿都触发 */
|
||||
} gpio_interrupt_mode_t;
|
||||
|
||||
/*
|
||||
* GPIO配置结构体
|
||||
*/
|
||||
typedef struct _gpio_pin_config
|
||||
{
|
||||
gpio_pin_direction_t direction; /* GPIO方向:输入还是输出 */
|
||||
uint8_t outputLogic; /* 如果是输出的话,默认输出电平 */
|
||||
gpio_interrupt_mode_t interruptMode; /* 中断方式 */
|
||||
} gpio_pin_config_t;
|
||||
|
||||
|
||||
/* 函数声明 */
|
||||
void gpio_init(GPIO_Type *base, int pin, gpio_pin_config_t *config);
|
||||
int gpio_pinread(GPIO_Type *base, int pin);
|
||||
void gpio_pinwrite(GPIO_Type *base, int pin, int value);
|
||||
void gpio_intconfig(GPIO_Type* base, unsigned int pin, gpio_interrupt_mode_t pinInterruptMode);
|
||||
void gpio_enableint(GPIO_Type* base, unsigned int pin);
|
||||
void gpio_disableint(GPIO_Type* base, unsigned int pin);
|
||||
void gpio_clearintflags(GPIO_Type* base, unsigned int pin);
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user