EDK学习笔记——C函数整理
2017-07-09 17:30
211 查看
XGpio_Initialize( XGpio * InstancePtr,u16 DeviceId) ;
InstancePtr:指向设备的指针(自己定义),
DeviceId:设备id,xparameters.h中找到。
返回:XST_SUCCESS(成功),XST_DEVICE_NOT_FOUND(失败)。
XGpio_SetDataDirection(XGpio * InstancePtr,unsigned Channel,u32 DirectionMask) ;
Channel:通道(1或2),
DirectionMask:标志设备输入输出(1为输入,0为输出)。
XGpio_DiscreteRead(XGpio * InstancePtr,unsigned Channel);读取InstancePtr指向寄存器的值
返回:读取的数值
XGpio_DiscreteWrite(XGpio * InstancePtr,unsigned Channel,u32 Data) ;
Data:将要写入InstancePtr指向寄存器的值。
XGpio_mSetDataReg(BaseAddress, Channel, Data) ;往GPIO置数。
Data:写入寄存器的数据。
XIntc_RegisterHandler(Xuint32 BaseAddress, int InterruptId, XInterruptHandler Handler, void *CallBackRef)
InterruptId是中断ID号,格式为XPAR_<产生中断的元件的实例名>_<中断信号名> _INTR,xparameter.h中找到,
Handler是中断函数名,用户定义,
CallBackRef被用来传递参数(中断函数被调用时),不用为0或NULL,外部中断时用NULL,
int XIntc_Connect (XIntc *InstancePtr,u8 Id,XInterruptHandler Handler,void *CallBackRef)也可完成类似功能。
XIntc_mMasterEnable(BaseAddress); 使能所有在master enable寄存器中的中断。
XIntc_mMasterDisable(BaseAddress); 禁止所有的中断。
XIntc_mEnableIntr(BaseAddress,EnableMask);
EnableMask:写入寄存器的32bit值,每bit都对应着中断控制器的中断输入,设置为1的bits对应设备进行中断。
XIntc_mDisableIntr(BaseAddress,DisableMask) ;
EnableMask:写入寄存器的32bit值,每bit都对应着中断控制器的中断输入,设置为1的bits对应设备中断禁止。
XTmrCtr_mSetLoadReg(BaseAddress,TmrCtrNumber,RegisterValue);设置时间计数器的LoadReg值。
TmrCtrNumber:8bits,时钟定时器,0到(XTC_DEVICE_TIMER_COUNT-1)。
RegisterValue:写入寄存器的32bit值。
XTmrCtr_mSetControlStatusReg(BaseAddress,TmrCtrNumber,RegisterValue);设置ControlStatusReg值。
XTmrCtr_mGetControlStatusReg(BaseAddress,TmrCtrNumber);获取ControlStatus寄存器的值。使能Microblaze中断
microblaze_enable_interrupts();使能Microblaze中断
InstancePtr:指向设备的指针(自己定义),
DeviceId:设备id,xparameters.h中找到。
返回:XST_SUCCESS(成功),XST_DEVICE_NOT_FOUND(失败)。
XGpio_SetDataDirection(XGpio * InstancePtr,unsigned Channel,u32 DirectionMask) ;
Channel:通道(1或2),
DirectionMask:标志设备输入输出(1为输入,0为输出)。
XGpio_DiscreteRead(XGpio * InstancePtr,unsigned Channel);读取InstancePtr指向寄存器的值
返回:读取的数值
XGpio_DiscreteWrite(XGpio * InstancePtr,unsigned Channel,u32 Data) ;
Data:将要写入InstancePtr指向寄存器的值。
XGpio_mSetDataReg(BaseAddress, Channel, Data) ;往GPIO置数。
Data:写入寄存器的数据。
XIntc_RegisterHandler(Xuint32 BaseAddress, int InterruptId, XInterruptHandler Handler, void *CallBackRef)
InterruptId是中断ID号,格式为XPAR_<产生中断的元件的实例名>_<中断信号名> _INTR,xparameter.h中找到,
Handler是中断函数名,用户定义,
CallBackRef被用来传递参数(中断函数被调用时),不用为0或NULL,外部中断时用NULL,
int XIntc_Connect (XIntc *InstancePtr,u8 Id,XInterruptHandler Handler,void *CallBackRef)也可完成类似功能。
XIntc_mMasterEnable(BaseAddress); 使能所有在master enable寄存器中的中断。
XIntc_mMasterDisable(BaseAddress); 禁止所有的中断。
XIntc_mEnableIntr(BaseAddress,EnableMask);
EnableMask:写入寄存器的32bit值,每bit都对应着中断控制器的中断输入,设置为1的bits对应设备进行中断。
XIntc_mDisableIntr(BaseAddress,DisableMask) ;
EnableMask:写入寄存器的32bit值,每bit都对应着中断控制器的中断输入,设置为1的bits对应设备中断禁止。
XTmrCtr_mSetLoadReg(BaseAddress,TmrCtrNumber,RegisterValue);设置时间计数器的LoadReg值。
TmrCtrNumber:8bits,时钟定时器,0到(XTC_DEVICE_TIMER_COUNT-1)。
RegisterValue:写入寄存器的32bit值。
XTmrCtr_mSetControlStatusReg(BaseAddress,TmrCtrNumber,RegisterValue);设置ControlStatusReg值。
XTmrCtr_mGetControlStatusReg(BaseAddress,TmrCtrNumber);获取ControlStatus寄存器的值。使能Microblaze中断
microblaze_enable_interrupts();使能Microblaze中断
相关文章推荐
- python学习笔记17-常用函数总结整理
- 【C/C++学习笔记】memmove()、memcpy()、memccpy()、strcpy()函数整理
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第26讲_js函数调用过程内存分析_js函数细节_学习笔记_源代码图解_PPT文档整理
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第33讲_Object类_闭包_成员函数再说明_聪明的猪小练习_学习笔记_源代码图解_PPT文档整理
- 逆向工程核心原理学习笔记(二十一):栈帧8:删除函数add()的参数(整理栈)
- 【Oracle 学习笔记】Day 1 常用函数整理(转换、DeCode),表的外键
- canvas学习笔记、小函数整理
- PHP学习笔记--字符串操作 作者:yezi33 字符串的整理: trim():除去字符串开头和末尾的空格或其他字符。函数执行成功时返回删除了string字符串首部和尾部空格的字符串,发生错误时返回空
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第32讲_构造函数_成员函数详解_学习笔记_源代码图解_PPT文档整理
- Python学习笔记整理(十二)Python的函数
- python学习笔记8-函数整理
- Python学习笔记整理3之输入输出、python eval函数
- Oracle分析函数学习笔记3
- C++ Template学习笔记之函数模板(7)——重载函数模板
- C++ Template学习笔记之函数模板(4)——显式模板实参
- MyGeneration学习笔记(8) :dOOdad提供的数据绑定、特殊函数和事务处理
- MyGeneration学习笔记(8) :dOOdad提供的数据绑定、特殊函数和事务处理
- C++ Template学习笔记之函数模板(1)——函数模板定义
- stl学习笔记2(容器,函数对象)
- C++ Template学习笔记之函数模板(6)——模板显式特化