寄存器图

可以通过操作以下的寄存器来实现对timer(定时器)内核的操作(仅描述32位计数器)

状态寄存器:

TO(timeout) :计数器计数到0时,该位置1,之后TO位的值会保持,直到手动清零,向状态寄存器写零,可以清除TO位

RUN:只读寄存器,读该寄存器,返回值为1表示计数其正在运行,0表示计数器停止计数,向状态寄存器写值,对该位无影响

控制寄存器:

ITO(interrupt timeout):该位为1允许timer在计数为0 时输出中断。该位为0,计数至0时,不输出中断信号.

CONT(continuous):该位控制定时器计数至0 后的动作,该位为1 ,计数器继续运行;该位为0,计数器到0后,停止计数。(无论该位为何值,在计数器到0后,均会载入计数初值)

START:启动计数器。当计数器停止时,写1,计数器从原计数器继续计数;当计数器运行时,写1,无影响。向该位写0,无影响.

STOP:停止计数器,当计数器运行时,写1,计数器停止计数;当计数器已经停止时,写1,无影响。向该位写0,无影响.(在硬件配置时,没选择"Start/Stop control bits" ,向该位写值,无影响)

注意:同时向START位和STOP位写1,结果不可预测!

计数值寄存器:

32位存储计数初值,计数器载入该值时满足的条件(二者选其一):

1,计数器计数至零;

2,对该计数值寄存器进行写操作;

计数器的计数周期为,初值加1,因为计数器需计数至0后,才载入计数初值

当硬件配置时,选择“Start/Stop control bits”,向该寄存器写值,计数其停止计数;若未选择时,计数器不会停止计数。未选择“Writeable period”,向该寄存器写值,会使计数器复位

临时值寄存器:

向给寄存器写任意值,计数器当前计数值会复制到临时值寄存器!

对该寄存器的操作,对计数器无影响

 中断行为:

当ITO位为1,且计数器计数至0时,计数器发出中断信号,

每天进步一点点------SOPC TIMER (一)的更多相关文章

  1. 每天进步一点点------SOPC的uC/OS-II应用(一)

    uC/OS-II(又名Micro C/OS)是基于嵌入式系统的完整的,可移植.可固化.可裁剪的可剥夺型实时内核,其已经广泛应用在航空飞行器.医疗设备.工业控制等可靠性和稳定性要求较高的场合.该内核的代 ...

  2. 每天进步一点点------SOPC PIO (一)

    最近想使用Nios II里的并口PIO口进行双向操作,即需要输出的时候设置为输出方向,需要输入的时候设置为输入方向.在这期间,因为没认真仔细阅读参考文档,走了一点点的弯路.下面就简单的介绍下并行输入/ ...

  3. 每天进步一点点------SOPC的Avalon-MM IP核(二) AVALON总线的IP核定制

    简介 NIOS II是一个建立在FPGA上的嵌入式软核处理器,除了可以根据需要任意添加已经提供的外设外,用户还可以通过定制用户逻辑外设和定制用户指令来实现各种应用要求.这节我们就来研究如何定制基于Av ...

  4. 每天进步一点点------SOPC的Avalon-MM IP核(一) avalon总线的信号时序

    在SOPC中自定义外设时.可以设置avalon总线的信号时序,以满足外设的要求.一般情况下,可以设为: 其中setup为read和write信号之前,address和writedata信号提前建立的时 ...

  5. 每天进步一点点------SOPC的Avalon-MM IP核(四) KEY_LED IP定制

    /********************************************************************************* * Company : * Eng ...

  6. 每天进步一点点------SOPC的Avalon-MM IP核(三) LCD1602 IP定制

    注:Avalon信号类型命名参考图 /********************************************************************************* ...

  7. 详解java定时任务---Timer篇

    一.简介      在java的jdk中提供了Timer.TimerTask两个类来做定时任务. Timer是一种定时器工具,用来在一个后台线程计划执行指定任务,而TimerTask一个抽象类,它的子 ...

  8. 【小梅哥SOPC学习笔记】NIOS II处理器运行UC/OS II

    SOPC开发流程之NIOS II 处理器运行 UC/OS II 这里以在芯航线FPGA学习套件的核心板上搭建 NIOS II 软核并运行 UCOS II操作系统为例介绍SOPC的开发流程. 第一步:建 ...

  9. qt下的时钟程序(简单美丽,继承自QWidget的Clock,用timer调用update刷新,然后使用paintEvent作画就行了,超详细中文注释)good

    最近抽空又看了下qt,发现用它来实现一些东西真的很容易比如下面这个例子,绘制了个圆形的时钟,但代码却清晰易懂[例子源自奇趣科技提供的例子]因为清晰,所以就只写注释了,吼吼其实也就这么几行代码头文件 / ...

随机推荐

  1. (转)git fetch + merge 和 git pull 的区别

    转自:http://blog.csdn.net/a19881029/article/details/42245955 Git fetch和git pull都可以用来更新本地库,它们之间有什么区别呢? ...

  2. jsp中引用的jstl 和fmt标签-详解

    JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out.set.remove.catch 2.流程控制标签:if.choose.when.otherwise 3.循环标签:f ...

  3. Linux C/C++ 字符串逆序

    /*字符串逆序*/ #include <stdio.h> #include <string.h> void nixu(char *str) { ; char tmp; for( ...

  4. 心里没点B树,怎能吃透数据库索引底层原理?

    二叉树(Binary Search Trees) 二叉树是每个结点最多有两个子树的树结构.通常子树被称作“左子树”(Left Subtree)和“右子树”(Right Subtree).二叉树常被用于 ...

  5. 什么是kafka,怎么使用? (2) - 内含zookeeper等

    zookeeper依赖于java https://baike.baidu.com/item/yum/2835771?fr=aladdin http://yum.baseurl.org/ 去yum官网下 ...

  6. Linux - Shell - 算术表达式 - 算数运算

    概述 shell 中基于 $(()) 的 算数运算 背景 复习 shell 脚本 凑数吧 准备 环境 os centos7 1. 算数运算 代码 #!/bin/bash # $(()) 的数学运算, ...

  7. jQuery添加/删除元素

    jQuery append() 方法 jQuery append() 方法在被选元素的结尾插入内容(仍然该元素的内部). 追加前:<p>这是一个文本段落</p> $(" ...

  8. python logging模块日志回滚RotatingFileHandler

    # coding=utf-8 import logging import time import os import logging.handlers def logger(appname,roots ...

  9. django--关于部署scrapyd项目报错问题

    首先在同步两篇之前写过的博客,可能能用得到 1.https://www.cnblogs.com/lutt/p/10893192.html2.https://www.cnblogs.com/lutt/p ...

  10. springboot11(springboot-redis)

    一.Redis集群简介 1.RedisCluster概念 Redis的分布式解决方案,在3.0版本后推出的方案,有效地解决了Redis分布式的需求,当一个服务宕机可以快速的切换到另外一个服务.redi ...