Ucos
文章平均质量分 81
xiaotaiyangzuishuai
这个作者很懒,什么都没留下…
展开
-
UcosII 共享资源的锁机制的处理
使用Ucosii操作系统编写应用程序时,会经常使用到全局变量等共享资源。若在使用时,如对全局变量的同时的读写操作,可能会造成程序的崩溃,故在使用全局变量时,要对其进行锁或互斥处理。另,如果函数可以进行修改,则可通过函数的可重入性,即传形参使用局部变量,而避免使用全局变量。共享资源处理简介:(1)关中断/开中断 关、开中断是独占共享资源最简单也是最快捷的方法。μC/OS原创 2017-08-31 11:15:41 · 2338 阅读 · 0 评论 -
ucos实时操作系统学习笔记——任务间通信(互斥锁)
想讲一下ucos任务间通信中的mutex,感觉其设计挺巧妙,同sem一样使用的是event机制实现的,代码不每一行都分析,因为讲的没邵贝贝老师清楚,主要讲一下mutex的内核是如何实现的。可以理解互斥锁是设置信号量值为1时候的特殊情况,与之不同的地方是互斥锁为了避免优先级反转采用了优先级继承机制,本文主要讲一下互斥锁的创建,pend和post,对应的函数是OSMutexCreate,OSMutex转载 2018-02-02 09:25:27 · 2281 阅读 · 0 评论 -
浅析μCOS/II v2.85内核OSMutexPend()和OSMutexPost()
//1.OSMutexPend()函数 void OSMutexPend (OS_EVENT *pevent, INT16U timeout, INT8U *perr) { INT8U pip; INT8U mprio; BOOLEAN rdy; OS_TCB *ptcb; OS_EVENT *pevent2; INT8U y;转载 2018-01-16 17:13:46 · 1878 阅读 · 0 评论 -
spi通信-ARM7
SPI:高速同步串行口。3~4线接口,收发独立、可同步进行.SPI,是英语Serial Peripheral interface的缩写,就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的原创 2017-12-18 11:42:49 · 662 阅读 · 0 评论 -
μC/OS-II如何检测任务堆栈实际使用情况——即如何设置ucosii任务堆栈大小
详解μC/OS-II如何检测任务堆栈实际使用情况——即如何设置ucosii任务堆栈大小不少屌丝同学都有类似经历吧,在使用ucosii创建任务时,关于任务堆栈大小设为多大合适搞的不清不楚,郁闷之下就随便整个数,比如就1024吧,呵呵,反正也没见得出问题,那就不多想了。我想大多数同学都是这样做的吧。这样只是因为在一般情况下,1024确实已转载 2017-12-26 11:24:06 · 840 阅读 · 0 评论 -
keil MDK 输出map文件分析
KEIL MDK输出map文件分析 主要是各个源文件生成的模块之间相互引用的关系。 stm32f10x.o(STACK) refers (Special) to stkheap2.o(.text) for __use_two_region_memory 比如上面这句话,stm32f10x.o是stm32f10x.s生成的目标文件模块,(STACK转载 2017-12-22 17:55:27 · 1081 阅读 · 0 评论 -
UCOSII 信号量的使用
信号量的使用 使用信号量之前首先要对信号量有一个本质的认识(1)信号量的含义:信号量是一类事件,使用信号量的最初目的是为了给共享资源 设立一个标志,该标志表示共享资源的占用情况,这样,当一个任务在访问共 享资源之前,就可以对这个标志进行查询,从而在了解资源被占用的情况之后 ,再来决定自己的行为。(2)UCOS-II的信号量里面转载 2017-10-16 16:27:44 · 439 阅读 · 0 评论 -
UCOSII互斥锁的使用
互斥性信号量的使用互斥型信号量的使用与信号量的使用差不多,但还需要一个较高的空闲优先级,这个级别要比使用这个互斥型信号量的所有任务优先级都高(数字更小)建立互斥型信号量:OS_EVENT *OSMutexCreate(INT8U prio,INT8U *err)返回值赋给信号量参数prio:较高的空闲优先级,用于任务提权参数err:存放出错信息转载 2017-10-16 16:21:42 · 6451 阅读 · 0 评论 -
CAN通信机制
1.CAN通信是实现不同目标板之间的通信,因此需要相同的时钟频率。因此需要进行时钟配置,一般在configPll中进行配置。进行倍频,分频处理等,得到合适的波特率。2.CAN通信流程:CAN_INIT();对CAN进行初始化配置,包括模式,中断等,一般为接收中断。 CAN_Exception();CAN中断处理,接收中断,按照CAN的帧传输方式接收数据。void原创 2017-08-31 11:39:10 · 3231 阅读 · 0 评论 -
ARM7-ADC转换
**文件名称:ADC.C**功能:对输入的模拟信号进行10位AD转换,送高8位转换结果到串口打印。转动电位器R31可以看见结果随着输入电压的变化发生变化。**说明:将JP9短接。电位器逆时针转分压变小,AD值也变小,直到0X00;顺时针转分压变大,AD值变大,直到0XFF.*******************************************转载 2018-02-02 11:33:51 · 342 阅读 · 0 评论