注:本文介绍任务通知的基础知识,具体源代码分析见<FreeRTOS高级篇8---FreeRTOS任务通知分析> 每一个RTOS任务都有一个32位的通知值,任务创建时,这个值被初始化为0.RTOS任务通知相当于直接向任务发送一个事件,接收到通知的任务能够解除堵塞状态,前提是这个堵塞事件是因等待通知而引起的. 发送通知的同一时候.也能够可选的改变接收任务的通知值. 能够通过下列方法向接收任务更新通知: 不覆盖接收任务的通知值 覆盖接收任务的通知值 设置接收任务通知值的某些位 添加接收任务的通知值…
转自:http://blog.csdn.net/zhzht19861011/article/details/49819309 版权声明:本文为博主原创文章,未经博主允许不得转载.联系邮箱:zhzhchang@126.com   目录(?)[-] 查找相关文档页 获取RTOS源代码 FreeRTOS源码目录结构 编译工程 运行演示例程   FreeRTOS可以被移植到很多不同架构的处理器和编译器.每一个RTOS移植都附带一个已经配置好的演示例程,可以方便快速启动开发.更好的是,每个演示例程都附带一…
本文介绍队列的基本知识,具体源代码分析见<FreeRTOS高级篇5---FreeRTOS队列分析> 1.FreeRTOS队列 队列是基本的任务间通讯方式.能够在任务与任务间.中断和任务间传送信息.大多数情况下,队列用于具有线程保护的FIFO(先进先出)缓冲区:新数据放在队列的后面.当然.数据也能够放在队列的前面,在下一篇讲队列API函数时,会涉及到数据的存放位置. 图1-1:读写队列 图1-1所看到的的队列中.最多能保存5个项目,而且假设队列永远不会满.任务A使用API函数xQueueSend…
FreeRTOS的信号量包括二进制信号量.计数信号量.相互排斥信号量(以后简称相互排斥量)和递归相互排斥信号量(以后简称递归相互排斥量).我们能够把相互排斥量和递归相互排斥量看成特殊的信号量. 信号量API函数实际上都是宏.它使用现有的队列机制.这些宏定义在semphr.h文件里.假设使用信号量或者相互排斥量.须要包括semphr.h头文件. 二进制信号量.计数信号量和相互排斥量信号量的创建API函数是独立的,可是获取和释放API函数都是同样的:递归相互排斥信号量的创建.获取和释放API函数都是…
内核控制的一些功能须要移植层提供,为了方便移植.这些API函数用宏来实现,比方上下文切换.进入和退出临界区.禁止和使能可屏蔽中断.内核控制函数还包含启动和停止调度器.挂起和恢复调度器以及用于低功耗模式的调整系统节拍函数. 1.强制上下文切换宏 taskYIELD:用于强制上下文切换的宏. 在中断服务程序中的等价版本号为portYIELD_FROM_ISR.这也是个宏,事实上现取决于移植层. 用于上下文切换的实际代码由移植层提供.对于Cortex-M3硬件.这个宏会引起PendSV中断. 2.进入…
这是Mysql系列第14篇. 环境:mysql5.7.25,cmd命令中进行演示. 开发过程中,会经常用到数据库事务,所以本章非常重要. 本篇内容 什么是事务,它有什么用? 事务的几个特性 事务常见操作指令详解 事务的隔离级别详解 脏读.不可重复读.可重复读.幻读详解 演示各种隔离级别产生的现象 关于隔离级别的选择 什么是事务? 数据库中的事务是指对数据库执行一批操作,这些操作最终要么全部执行成功,要么全部失败,不会存在部分成功的情况. 举个例子 比如A用户给B用户转账100操作,过程如下: 1…
源码Gitub地址:https://github.com/heibaiying/spring-samples-for-all 一.说明 1.1 项目结构说明 本用例关于rabbitmq的整合提供简单消息发送和对象消费发送两种情况下的sample. rabbitBaseAnnotation.java中声明了topic类型的交换机.持久化队列.及其绑定关系,用于测试说明topic交换机路由键的绑定规则. rabbitObjectAnnotation.java中声明了direct类型的交换机,持久化队…
这是java高并发系列第14篇文章. 本文主要内容: 讲解3种让线程等待和唤醒的方法,每种方法配合具体的示例 介绍LockSupport主要用法 对比3种方式,了解他们之间的区别 LockSupport位于java.util.concurrent(简称juc)包中,算是juc中一个基础类,juc中很多地方都会使用LockSupport,非常重要,希望大家一定要掌握. 关于线程等待/唤醒的方法,前面的文章中我们已经讲过2种了: 方式1:使用Object中的wait()方法让线程等待,使用Objec…
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之14.ABP领域层——领域事件(Domain events) ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 在C#中,一个类可以定义其专属的事件并且其它类可以注册该…
一步一步学Silverlight 2系列(14):数据与通信之WCF   概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON.Web Service.WCF以及Sockets的支持等一系列新的特性.<一步一步学Silverlight 2系列>文章将从Silverlight 2基础知识.数据与通信.自定义控件.动画…