?? xsgpiodrv.h
字號:
#ifndef __XSGPIODRV_H
#define __XSGPIODRV_H
/*
************************************************************************************
* Included headers
************************************************************************************
*/
#include "RegCtl.h"
#include "XsGpioRegs.h"
/*
************************************************************************************
* Utility MACRO Functions
************************************************************************************
*/
// These Macros only apply for physical address
//set or get pin level
#define GPIO_SET_LEVEL(group, bit, level) \
ASSIGN_BIT_VAL(GPIO_GPLR(group), bit, val) \
#define GPIO_GET_LEVEL(group, bit) \
GET_BIT(GPIO_GPLR(group), bit)
//set or get pin direction
#define GPIO_SET_DIRECTION(group, bit, dir) \
ASSIGN_BIT_VAL(GPIO_GPDR(group), bit, val)
#define GPIO_GET_DIRECTION(group, bit) \
GET_BIT(GPIO_GPDR(group), bit)
//set a GPIO pin to '1'
#define GPIO_SET_PIN(group, bit) \
SET_BIT(GPIO_GPSR(group), bit)
//clear a GPIO pin to '0'
#define GPIO_CLR_PIN(group, bit) \
SET_BIT(GPIO_GPCR(group), bit)
//set a GPIO pin to detect rising /falling edge
#define GPIO_SET_RISING_EDGE(group, bit, val) \
ASSIGN_BIT_VAL(GPIO_GRER(group), bit, val)
#define GPIO_SET_FALLING_EDGE(group, bit, val) \
ASSIGN_BIT_VAL(GPIO_GFER(group), bit, val)
//read or clear edge event in GEDR register
#define GPIO_GET_EDGE_EVENT(group, bit) \
GET_BIT(GPIO_GEDR(group), bit)
#define GPIO_CLEAR_EDGE_EVENT(group, bit) \
SET_BIT(GPIO_GEDR(group), bit)
//set GPIO pin function
#define GPIO_SET_ALT_FUNC(group, bit, func) \
LOAD_FIELD(GPIO_GAFR_ADDR(group), func, bit, GAFR_AF_SZ)
#endif //#ifndef __XSGPIODRV_H
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -