/******************************************************************** * 文 件 名:SysTimer_test.c * 功 能:利用系统时钟服务产生1s的周期性事件,并借此控制LED闪烁,在做实验时首先在System Library设置页中,在System clock timer下拉列表框中选择一个系统时钟.* * 说 明:观察LED闪烁效果。 ********************************************************************/ #include #include "system.h" //包含基本的硬件描述信息 #include "altera_avalon_pio_regs.h" //包含基本的IO寄存器信息 #include "alt_types.h" //Altera定义的数据类型 #include "sys/alt_alarm.h" //系统时钟服务头文件 /****************************************************************** * 与硬件相关的宏定义,用户根据实际情况修改 ******************************************************************/ // 用户添加并命名的外设基地址,在SYSTEM中定义,用户需要根据不同的命名来修改此处 #ifndef LED_PIO_BASE //这是LED_PIO核的基地址 #define LED_PIO_BASE 0xffffffff //user's definition here #endif #if LED_PIO_BASE == 0xffffffff #error "No definition of LED_PIO core...\n" #endif #define LEDCON 0xff static alt_alarm alarm; //按调用API函数规定定义的变量 static unsigned char led = 0xff; /******************************************************************** * 名 称:my_alarm_callback * 功 能:按调用规定系统时钟回调函数,在该函数中实现用户功能 * 入口参数:context,系统传给回调函数的参数 * 出口参数:返回下一次的系统时钟服务的周期值 ********************************************************************/ alt_u32 my_alarm_callback (void* context) { if(led == 0xff){ led = 0x00; }else{ led = 0xff; } IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,led); //操作IO口 return alt_ticks_per_second(); } /******************************************************************** * 名 称:InitPIO() * 功 能:初始化LED_PIO为输出,其余输入,屏蔽中断,清边沿捕获寄存器 * 入口参数:无 * 出口参数:无 ********************************************************************/ void InitPIO(void) { /* LED_PIO为输出,其余输入 */ IOWR_ALTERA_AVALON_PIO_DIRECTION(LED_PIO_BASE, LEDCON); /* 禁止所有PIO中断 */ IOWR_ALTERA_AVALON_PIO_IRQ_MASK(LED_PIO_BASE, 0x00); /* 清清边沿捕获寄存器 */ IOWR_ALTERA_AVALON_PIO_EDGE_CAP(LED_PIO_BASE, 0x00); } int main() { InitPIO(); IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,0xff); //灭LED printf("test alarm...\n"); //打印提示信息 printf("alt_ticks_per_second() is %ld",alt_ticks_per_second()); if (alt_alarm_start (&alarm,alt_ticks_per_second() //启动系统时钟服务 ,my_alarm_callback,NULL) < 0) { printf ("No system clock available\n"); } while(1); //等待时钟事件发生 return 0; }

每天进步一点点------SysTimer的更多相关文章

  1. 利用animation和text-shadow纯CSS实现loading点点点的效果

    经常在网上看到loading状态时的点点点的动态效果,自己也用JS写了一个,思路是使用一个计数参数,然后在需要添加点的元素后面利用setInterval一个一个加点,当计数到3时,把点变为一个--写完 ...

  2. Android--带你一点点封装项目 MVP+BaseActivity+Retrofit+Dagger+RxJava(一)

    1,其实早就想把这些东西给封装封装的,一直没有时间,今天刚好项目进入到测试阶段了,Bug同事在哪儿测试的飞起,但发现提bug的尽然是我(得意脸),然后上午把ios的包测试了一下,顺便把服务器给测挂了( ...

  3. 在input中实现点点点与当鼠标移上去时显示剩余的字

    项目中经常会遇到这个问题,在一个内容框中,由于框的宽度是固定的,但是里面的内容却有很多,那么这个时候需求里就要求第一,多余的字要以点点点的形式隐藏,第二,当鼠标移上去的时候要以title提示的方式显示 ...

  4. css 文本显示点点点

    今天有这个需求,百度获取到这个效果,记录下来. text-overflow :ellipsis; //让截断的文字显示为点点.还有一个值是clip意思是截断不显示点点 white-space : no ...

  5. 怎么实现CSS限制字数,超出部份显示点点点.

    如何实现CSS限制字数,超出部份显示点点点... <div style="width:200px; white-space:nowrap;overflow:hidden;text-ov ...

  6. jQuery关于文字内容溢出用点点点(…)省略号表示

    1.jQuery限制字符字数的方法代码很简单,使用也很方便,如下: $(document).ready(function(){//限制字符个数$(“.zxx_text_overflow”).each( ...

  7. 【Open Search产品评测】-- 淘点点:基于OpenSearch,轻松实现一整套O2O类搜索解决方案

     [Open Search产品评测]--  淘点点:基于OpenSearch,轻松实现一整套O2O类搜索解决方案   [使用背景] 我们淘点点团队应该可以算是内网首批使用opensearch来搭建应用 ...

  8. 重拾C,一天一点点_4_随想

    刚才顺便又把二分默写了一遍,还好,这次比较顺利.算法这一块,一直是自己一块痛处,有时感觉自己的脑瓜子怎么就这么笨,后一想觉得肯定是锈逗了,确实啊,这么长时间不思考的脑子能机灵到哪呢?早就意识到这个问题 ...

  9. 重拾C,一天一点点_2

    类型转换一般来说,如果二元运算符的两个操作数具有不同的类型,较低的类型提升为较高类型,结果为较高类型.表达式由float类型的操作数不会自动转换为double类型.使用float类型主要是为了在使用较 ...

随机推荐

  1. 在macOS 上添加 JAVA_HOME 环境变量

    If you are planing to develop Java Apps on your Mac, you may have to set $JAVA_HOME environment vari ...

  2. Windows下解决github push failed (remote: Permission to userA/XXXX.git denied to userB.) 上传gitHub失败报错

    Windows环境下解决 github push failed (remote: Permission to userA/XXXX.git denied to userB.) · 初学GitHub的朋 ...

  3. Python2安装MySQLdb

    在http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python下载对应的包版本,如果是win7 64位2.7版本的python,就下载 MySQL_p ...

  4. Pytest学习6-跳过或xfail失败的用例

    Skip跳过用例 跳过(Skip)指,你希望如果某些条件得到满足你的测试用例才执行,否则Pytest应该完全跳过运行该用例 1. 跳过测试用例的最简单方法是使用skip装饰器标记它,可以传递一个可选的 ...

  5. 在已部署好的docker环境下配置nginx项目路径

    第一步:申请一个docker连接账号,可以借用putty工具,如果使用sublime,可以下载sftp插件,上传.下载来同步你线上线下的文件: 第二步:修改nginx区域配置文件,在conf文件夹里放 ...

  6. Oracle 12.2.0.1 Installation Fails With "PRVG-0449"

    Mac 电脑虚拟机 Parallels 中进行Oracle 12.2.0.1 数据库软件安装时,预环境检查过程中,提示堆栈大小限制[失败],即使修复问题依然如故. Oracle 12.2.0.1 In ...

  7. Hibernate项目的基本步骤和一些错误提示

    以数据库中有一张user表为例: 1.编写POJO持久化类User.javaPOJO(Plain Old Java Objects),简单的Java对象.一个POJO类不用继承任何类,也无须实现任何接 ...

  8. 搭建Hexo实现个人网站详细教程

    全网最全小白搭建Hexo+Gitee/Coding/Github 全网最全小白搭建Hexo+Gitee/Coding/Github 本站内容已全部转移到https://www.myyuns.ltd,具 ...

  9. Json.Net的介绍与简单实用(兼容2.0/3.0/3.5/4.5/RT)

    本文的前提是你已经熟悉Json,如果您还不知道什么是Json是什么,请自行查看维基百科. 一.Json.Net是什么? Json.Net是一个读写Json效率比较高的.Net框架.Json.Net 使 ...

  10. HTML学习(10)图像

    HTML图像标签<img>,没有闭合标签 <img src="" alt="" width="" height=" ...