江山易改本性难移之ZYNQ SDK API函数笔记(Timer)
初学Xilinx ZYNQ SDK的开发,下面记录使用到的API函数及自己的理解。若有误,还请指教。
Timer函数
常用编程步骤:
1.查找输入设备的ID查找设备;
2.输入的配置信息初始化;
3.加载计数周期;
4.设置自动装载模式;
5.启动定时器;
配置GPIO只需要以上5个步骤。
1、XGpioPs_Config *XGpioPs_LookupConfig(u16 DeviceId)
名称 | 代码 | 解释 |
---|---|---|
函数名 | XScuTimer_LookupConfig | 查询ID对应的设备配置信息 |
参数1 | u16 DeviceId | timer对应的设备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 | |
参数1 | XScuTimer *InstancePtr | 指向timer实例的指针 | |
参数2 | XScuTimer_Config *ConfigPtr | 指向配置结构体的指针 | |
参数3 | u32 EffectiveAddress | 设备的基地址,一般为配置信息的基地址 | |
返回值 | s32 | XST_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周期 |
参数1 | InstancePtr | 指向timer实例的指针 |
参数2 | Value | 装载值 |
返回值 | 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是否计数满 |
参数1 | XScuTimer *InstancePtr | 指向timer实例的指针 |
返回值 | int | TRUE or FALSE |
函数XScuTimer_EnableAutoReload、XScuTimer_Start较为简单,不再赘述。
江山易改本性难移之ZYNQ SDK API函数笔记(Timer)相关推荐
- 江山易改本性难移之ZYNQ SDK API函数笔记(UART)
初学Xilinx ZYNQ SDK的开发,下面记录使用到的API函数及自己的理解.若有误,还请指教. UART函数 常用编程步骤: 1.查找输入设备的ID查找设备: 2.输入的配置信息初始化: 3.设 ...
- 江山易改本性难移之ZYNQ SDK API函数笔记(GPIO函数)
初学Xilinx ZYNQ SDK的开发,下面记录使用到的API函数及自己的理解.若有误,还请指教. xgpiops函数 常用编程步骤: 1.查找输入设备的ID查找设备: 2.初始化GPIO(最新版本 ...
- [置顶] 【Visual C++】游戏开发笔记之一——API函数、DirectX的关键系统...
本系列文章由zhmxy555(毛星云)编写,转载请注明出处. http://blog.csdn.net/zhmxy555/article/details/7318264 作者:毛星云 邮箱: h ...
- 【Visual C++】游戏开发笔记之一——API函数、DirectX的关键系统
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/7318264 作者:毛星云(浅墨) ...
- [笔记]使用API函数 GetACP 获取Windows系统当前代码页
代码页是字符集编码的别名,也称"内码表",是特定语言的字符集的一张表. 代码页分为两种:一种是ANSI代码页:另一种是OEM代码页. ⑴OEM代码页主要是用于Windows系统中的 ...
- FreeRTOS学习笔记【六】——FreeRTOS 任务相关 API 函数
上一章我们学习了 FreeRTOS 的任务基础知识,本章就正式学习如何使用 FreeRTOS 中有关任务的 API 函数.本来本章想讲解 FreeRTOS 的任务原理知识的,但是很多初学者还没使用过 ...
- Zynq Fatfs文件系统应用笔记
Zynq Fatfs文件系统应用笔 Hello,panda 笔记介绍基于所描述的Zynq Fatfs基于Xilinx xilffsv3.0和Sdpsv2.4,文件系统采用在Bare-Metal和轻量级 ...
- Expo大作战(三十)--expo sdk api之Permissions(权限管理模块),Pedometer(计步器api)
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Crypto API 学习笔记一
标 题: [原创]Crypto API 学习笔记一 作 者: jdxyw 时 间: 2006-09-01,16:47 链 接: http://bbs.pediy.com/showthread.php? ...
最新文章
- 互联网各大公司职级和薪资一览
- 剑指offer:正则表达式匹配
- Node.js 启动调试方式
- shell脚本实现命令的自动执行
- 2017php行情,2017年蔬菜行情特点及未来蔬菜价格走势分析
- Mysql数据库——高级用法(视图、事务、索引、自连接、用户管理)
- 手机都能拍月亮了,为何我们还在怀念诺基亚?
- Linux下oracle em安装,关于在linux下手动安装oracle之后,安装em的问题
- c语言习题 编写自定义函数 volume_c,功能是求正方体的体积(要求:正方体的的边长 a 在主函数中做输入,在主函数中调用函数 volume_c,在主函数中输出正方体体积,a 为int 型变量)。
- 如何安装Bodymovin插件
- 计算机没声音怎么解决,【电脑没有声音】电脑没有声音怎么办_电脑没有声音是什么原因-太平洋IT百科...
- Html移动端红包雨功能页面实现
- 苹果手机投影_手机、平板屏幕投到投影机上常见问题与答案
- javascript处理日期和时间
- html侧边导航栏跟随页面滚动,javascript练习:导航随内容滚动而跟随变化
- 【木叶精品系统】木叶 GhostXP SP3 纯净版/装机版_2013.06
- java饲养员喂动物_你真的想当一名动物饲养员?
- [Leetcode] 377. 组合总和 Ⅳ
- J2EE里面的'2'是什么意思
- 欧文分校计算机科学硕士项目,2020年加州大学欧文分校排名TFE Times美国最佳计算机科学硕士专业排名第36...