摘要: 任务调度uC/OS-II采用的是可剥夺型实时多任务内核。可剥夺型的实时内核在任何时候都运行就绪了的最高优先级的任务。uC/os-II的任务调度是完全基于任务优先级的抢占式调度,也就是最高优先级的任务一旦处于就绪状态,则立即抢占正在运行的低优先级任务的处理器资源。为了简化系统设计,uC/OS-II规定所有任务的优先级不同,因为任务的优先级也同时唯一标志了该任务本身。UCOS的任务调度在一下情况下发生:1)高优先级的任务因为需要某种临界资源,主动请求挂起,让出处理器,此时将调度就绪状态的低优先级任务获得执行,这种调度也称为任务级的上下文切换。2)高优先级的任务因为时钟节拍到来,在时钟中断的处... 阅读全文
posted @ 2013-12-02 09:10 haotianling 阅读(352) 评论(0) 推荐(0) 编辑
摘要: emouse收集整理,转载请注明:emouse的技术专栏博客园:http://www.cnblogs.com/emouse/CSDN:http://blog.csdn.net/haozi_1989成都国嵌非常好的实验教材,建议配合视频教程学习。此教材是收费的,国嵌和视频一起一套资料580元,有兴趣的可以自己去淘宝上搜。因此这里是教材是网上流出的扫描版本,我进行了整理和压缩,不影响阅读。文档说明1、本手册所有内容均整理自互联网,版权归原作者所有。2、目前百度文库、CSDN流传的均是这个版本,内容是一样的,我只是整理合并。3、目前网上关于本手册的资源较多,本手册只是将这些资源进行整理压缩,合... 阅读全文
posted @ 2013-12-02 09:10 haotianling 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 看了OK6410的手册,感觉晕晕的。 需要整理一下思路。我觉得主要的知道下面这几个内容吧。1. 定时器的电路结构。2. 定时器的工作原理是什么。定时器如何来使用。{使用的时序是什么,在时间轴上各个寄存器应该如何配置}3. 里面涉及的寄存器都有哪些。 各个寄存器的职责是什么。1. 简单介绍 :S3C6410X中有5个定时器,这些定时器产生内部中断。其中,Timer0和Timer1具有PWM功能,而Timer2,3,4没有此功能。PWM具有两种操作模式:自动装载模式,一次触发模式。为实现PWM功能,芯片提供了16个功能寄存器。这些功能寄存器都连接APB总线。定时器具有双缓冲特性,这样就能在不... 阅读全文
posted @ 2013-12-02 09:10 haotianling 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 看到一篇很好的博文,分析2410定时器中断的使用的,很详细,和大家分享一下 转载来源于http://www.cnblogs.com/Neddy/archive/2011/07/01/2095176.htmls3c2410提供了5个16位的Timer(Timer0~Timer4),其中Timer0~Timer3支持PulseWidth Modulation—— PWM(脉宽调制 )。Timer4是一个内部定时器(internal timer),PCLK是Timer的信号源,我们通过设置每个Timer相应的Prescaler和ClockDivider把PCLK转换成输入时钟信号传送给各个Ti... 阅读全文
posted @ 2013-12-02 09:10 haotianling 阅读(304) 评论(0) 推荐(0) 编辑
摘要: //*****************************************************************//作者:昊天////功能:在ok6410板子上跑裸板程序,用四个按键控制四个led灯的两灭及蜂鸣器的叫声,// 当按键1按下时(此时为低电平)点亮led1同时蜂鸣器响,当松手时,led1灭及蜂鸣器不响 // 以此类推剩下三个键//时间:2012/12/13 22:01//******************************************************************//蜂鸣器---GPF15#define GPF... 阅读全文
posted @ 2013-12-02 09:10 haotianling 阅读(295) 评论(0) 推荐(0) 编辑
摘要: wire表示直通,即只要输入有变化,输出马上无条件地反映;reg表示一定要有触发,输出才会反映输入。wire表示直通,即只要输入有变化,输出马上无条件地反映;reg表示一定要有触发,输出才会反映输入。不指定就默认为1位wire类型。专门指定出wire类型,可能是多位或为使程序易读。wire只能被assign连续赋值,reg只能在initial和always中赋值。wire使用在连续赋值语句中,而reg使用在过程赋值语句中。 不指定就默认为1位wire类型。专门指定出wire类型,可能是多位或为使程序易读。wire只能被assign连续赋值,reg只能在initial和always中赋值... 阅读全文
posted @ 2013-12-02 09:10 haotianling 阅读(2099) 评论(0) 推荐(0) 编辑
摘要: 原文地址:关于FPGA设计16位乘法器的两种算法作者:ChrisChan部分原代码如下:用特权的右移算法虽复杂点,但节省不少LEs,如下图:用左移算法尽管浅显易懂,但因每次都会从最右端移位,会占用更大面积,速度暂不说,如下图: 阅读全文
posted @ 2013-12-02 09:10 haotianling 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 此质料是摘要:>,自己感觉比较有价值,现与大家分享。1.从const inti说起你知道我们声明一个变量时象这样inti;这个i是可能在它处重新变赋值的。如下:int i = 0;i = 20;不过有一天我的程序可能需要这样一个变量(暂且称它变量),在声明时就赋一个初始值。之后我的程序在其它任何处都不会再去重新对它赋值。那我又应该怎么办呢?用const。const int ic =20;ic = 40;有了const修饰的ic我们不称它为变量,而称符号常量,代表着20这个数。这就是const的作用。ic是不能在它处重新赋新值了。认识了const作用之后,另外,我们还要知道格式的写法。有两 阅读全文
posted @ 2013-12-02 09:10 haotianling 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 原文地址:键盘消抖--特权同学代码作者:一只大笨鹅首先将按键值保存两次,以检验按键值的变化。当按键值变后将计数器置0,否则继续加1。当计数器值等于fffff的时候,说明按键是正常按下的,接着保存两次,检测值的变化。若相应位有变化,则将相应的led控制取反。(好像新的代码中键值只检验了一次,不过找不到新代码了。)`timescale 1ns / 1ps////////////////////////////////////////////////////////////////////////////////// Company:// Engineer: 特权//// Create Dat... 阅读全文
posted @ 2013-12-02 09:10 haotianling 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 每天晚上,睡觉的时候我习惯躺在床上刷刷微波,有些人的微博很有价值,浓缩了他对某件事情或人生深度认识的精华,并以简短的语句表达出来,或者是其看了某本书后的感悟,或直接截图!我感觉我每天在从中吸取营养!昨晚,当我看到下面这条微博后,竟然让我睡不着!这篇微博是周公(广州周立功懂事)的,他为嵌入式在中国的普及做了很大的贡献!应该算嵌入式大佬!睡不着是因为我有同感!我在大学旁边做嵌入式培训有三年,下面是我亲耳听到我的学生说到的现象:现象一:老师开始上课,同学都来点名,点了名后坐了几分钟,大家都从后门出去,有的靠走廊窗户坐的直接翻窗越狱!后来,老师规定上课前点一次名,上课后点一次名,于是,他们出去抽... 阅读全文
posted @ 2013-12-02 09:10 haotianling 阅读(138) 评论(0) 推荐(0) 编辑