#include "cmsis_os.h"

 void Thread0( void * arg);
void Thread1( void * arg); osThreadDef( Thread0, Thread0, osPriorityNormal, );
osThreadDef( Thread1, Thread1, osPriorityAboveNormal, ); osMessageQDef(_thread0_MsgQ, );
osMessageQId thread0_MsgQ; osMessageQDef(_thread1_MsgQ, );
osMessageQId thread1_MsgQ; void Thread0( void * arg)
{
osEvent event;
while()
{
event = osMessageGet(thread0_MsgQ, osWaitForever );
if ( event.status == osOK)
osMessagePut( thread1_MsgQ, event.value.v+, osWaitForever ); osDelay( );
}
} void Thread1( void * arg)
{
osEvent event;
osMessagePut( thread0_MsgQ, , ); while()
{
event = osMessageGet(thread1_MsgQ, osWaitForever );
if ( event.status == osOK)
osMessagePut( thread0_MsgQ, event.value.v+, osWaitForever ); osDelay( );
}
} int main( void )
{
osKernelInitialize(); thread0_MsgQ = osMessageCreate( osMessageQ(_thread0_MsgQ), );
thread1_MsgQ = osMessageCreate( osMessageQ(_thread1_MsgQ), ); osThreadCreate( osThread(Thread0), (void *) );
osThreadCreate( osThread(Thread1), (void *) ); osKernelStart(); return ;
}

CMSIS Example - osMessageQ osMessagePut osMessageGet的更多相关文章

  1. CMSIS_OS中osMailPut 和 osMessagePut 的问题

    1. 背景 为了屏蔽不同OS之间的差别,ARM公司开发了一套OS接口--CMSIS_OS. 在使用STM32 cube生成的free rtos工程中,遇到一些问题. 问题1:osMessageGet ...

  2. CMSIS OS None

    /* ---------------------------------------------------------------------- * Copyright (C) 2011 ARM L ...

  3. CMSIS RTOS -- embOS segger

    #ifndef __CMSIS_OS_H__ #define __CMSIS_OS_H__ #include <stdint.h> #include <stddef.h> #i ...

  4. CMSIS Example - Mail and Message

    /*---------------------------------------------------------------------------- * RL-ARM - RTX *----- ...

  5. (一)stm32之CMSIS标准、库目录、GPIO

    一.CMSIS标准 ST公司的stm32采用的是cortex-m3内核,内核是整个微处理器的CPU.该内核是ARM公司设计的一种处理器体系架构.内核与外设的关系就像PC上的CPU与硬盘.主板.内存等的 ...

  6. CMSIS标准

    CMSIS 标准(Cortex Microcontroller Software Interface Standard) ,翻译过来是"ARM Cortex™ 微控制器软件接口标准" ...

  7. stm32之CMSIS标准、库目录、GPIO

    一.CMSIS标准 ST公司的stm32采用的是cortex-m3内核,内核是整个微处理器的CPU.该内核是ARM公司设计的一种处理器体系架构.内核与外设的关系就像PC上的CPU与硬盘.主板.内存等的 ...

  8. cmsis dap interface firmware

    cmsis dap interface firmware The source code of the mbed HDK (tools + libraries) is available in thi ...

  9. STM32开发笔记之——CMSIS DAP

    都说开发stm32都是使用kail iar+jatg/swd的方式,然而arm公司已经开发出了CMSIS DAP的开源下载工具,全称是CoreSight Debug Access Port,网络上有大 ...

随机推荐

  1. MySQL基础之第18章 性能优化

    18.1.优化简介 SHOW STATUS LIKE ‘value’;connections                 连接数uptime                          启动 ...

  2. s:iterator标签的使用

    1.在说明s:iterator标签的使用前,先了解下struts2中的Value Stack. 这里参考了webwork中对Value Stack的描述,由于struts2是在webwork的基础上进 ...

  3. objective-C 中两种实现动画的方法

    第一种方法: [UIView beginAnimations:@"Curl"context:nil];//动画开始 [UIView setAnimationDuration:1.2 ...

  4. 平庸与卓越的差别 z

    本文是清华大学陈吉宁校长于在 2015 年第一次研究生毕业典礼暨学位授予仪式上的讲话,原文标题:选择与坚持.演讲非常精彩,值得您细细阅读. 亲爱的同学们: 今天,共有 1318 名同学获得博士.硕士学 ...

  5. zzzzz

    Extension Method: Return another string if string is null or emptyJust a tiny little extension metho ...

  6. hdu 4508 湫湫系列故事——减肥记I(完全背包)

    题意:完全背包 思路:完全背包 可以直接转化为 多重背包,num[i]=_v/c[i];//转为多重背包然后运用 多重背包 3种解法如下码1: #include<iostream> #in ...

  7. c++中实现委托

    成员函数指针与高性能的C++委托(上篇) 撰文:Don Clugston 引子 标准C++中没有真正的面向对象的函数指针.这一点对C++来说是不幸的,因为面向对象的指针(也叫做"闭包(clo ...

  8. effective c++:资源管理

    对象管理资源 createInvestment 函数作用时创建一个invest对象: void f() { Investment *pInv = createInvestment(); // call ...

  9. Shell script之if...then

    1 Variable in shell  If you want to print variable, then use echo command. In front of the variable ...

  10. Spring Batch的事务-Part 1:基础

    原文 https://blog.codecentric.de/en/2012/03/transactions-in-spring-batch-part-1-the-basics/ This is th ...