Xilinx SDK 初学之--API函数笔记(timer相关函数)

   初学Xilinx SDK的开发,下面记录使用到的API函数及自己的理解。若有误,还请指教。

1、XScuTimer_Config *XScuTimer_LookupConfig(u16 DeviceId)

名称代码解释
函数名XScuTimer_LookupConfig查询ID对应的设备配置信息
参数1u16 DeviceIdtimer对应的设备ID,在xparameter.h中定义
返回值XScuTimer_Config指向给定ID设备的配置类表的指针


应用举例
XScuTimer_Config *ConfigPtr;
ConfigPtr = XScuTimer_LookupConfig (XPAR_PS7_SCUTIMER_0_DEVICE_ID);
//得到当前定时器配置列表的指针

2、s32 XScuTimer_CfgInitialize(XScuTimer *InstancePtr,XScuTimer_Config *ConfigPtr, u32 EffectiveAddress)

名称代码解释
函数名XScuTimer_CfgInitialize初始化timer
参数1XScuTimer *InstancePtr指向timer实例的指针
参数2XScuTimer_Config *ConfigPtr指向配置结构体的指针
参数3u32 EffectiveAddress设备的基地址,一般为配置信息的基地址
返回值s32XST_SUCCESS:配置成功;XST_DEVICE_IS_STARTED :定时器已经启动


应用举例
XScuTimer Timer; // 定时器
XScuTimer_Config *ConfigPtr; // 配置信息指针
ConfigPtr = XScuTimer_LookupConfig (XPAR_PS7_SCUTIMER_0_DEVICE_ID);
//得到当前定时器配置列表的指针
XScuTimer_CfgInitialize(&Timer, ConfigPtr, ConfigPtr->BaseAddr); //初始化timer

3、void XScuTimer_LoadTimer(InstancePtr,Value ) ;

名称代码解释
函数名XScuTimer_LoadTimer装载timer周期
参数1InstancePtr指向timer实例的指针
参数2Value装载值
返回值void


应用举例
XScuTimer Timer; // 定时器
u32 value = 0x13D92D3F; // 定时1s
XScuTimer_LoadTimer(&Timer, value);

另,关于value和定时周期的计算有如下公式:
定时时间=[(预分频器值 + 1)(加载值 + 1)]/定时器频率
一般私有定时器频率为CPU频率一半,常见为333MHz。若需要定时1s,则
加载值=1s*(333*1000000)*(1/s) - 1 = 0x13D92D3F

4、int XScuTimer_IsExpired(XScuTimer *InstancePtr)

名称代码解释
函数名XScuTimer_IsExpired查询timer是否计数满
参数1XScuTimer *InstancePtr指向timer实例的指针
返回值intTRUE or FALSE

其他比如XScuTimer_EnableAutoReload、XScuTimer_Start等较为简单,不再详述

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值