每天进步一点点------SOPC TIMER (一)
寄存器图
可以通过操作以下的寄存器来实现对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时,计数器发出中断信号,
最新文章
- 获取当前应用的系统路径工具类和java的System.getProperty()方法介绍
- linux性能检测工具
- 【Eclipse】 Alt+/ 代码提示问题解决方案
- [转]基于 Quercus 的手游项目终于上线了
- 树莓派 不稳定 ssh经常断 解决
- SQLSERVER2008 18456错误
- C++中struct和class的区别 [转]
- python学习第十五天 -面向对象之继承和多态
- 从M个数中随机选出N个数的所有组合,有序,(二)
- Lucene.Net 2.3.1开发介绍 —— 二、分词(三)
- 学习NodeJS第一天:node.js介绍
- 深刻认识shift_ram IP core——图像处理学习笔记
- jquery系列教程6-ajax的应用全解
- JAVA虚拟机:对象的创建过程
- 【interview】汉诺塔学递归
- mysql 分库分表转
- Hive 导入 parquet 格式数据(未完,待续)
- 201621123001 《java程序设计》第2周学习总结
- (error) MOVED 5798 172.17.0.3:6379
- springboot深入学习(一)-----springboot核心、配置文件加载、日志配置
热门文章
- Hadoop 集群ssh免密登录设置
- js判断Android和Ios
- Android Studio3.0.0之前首次安装通用配置
- SQL With As的用法
- A conflict in the working copy obstructs the current operation
- linux做免密登录,成功分发公钥后登录主机依旧需要输入密码的问题解决
- laravel实现excel表的导入导出功能
- CentOS7下使用C/C++连接MariaDB/MySQL
- 第五十篇 入门机器学习——线性回归(Linear Regression)
- 第四十二篇 入门机器学习——Numpy的基本操作——索引相关