CMSIS Example - osMessageQ osMessagePut osMessageGet
#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的更多相关文章
- CMSIS_OS中osMailPut 和 osMessagePut 的问题
1. 背景 为了屏蔽不同OS之间的差别,ARM公司开发了一套OS接口--CMSIS_OS. 在使用STM32 cube生成的free rtos工程中,遇到一些问题. 问题1:osMessageGet ...
- CMSIS OS None
/* ---------------------------------------------------------------------- * Copyright (C) 2011 ARM L ...
- CMSIS RTOS -- embOS segger
#ifndef __CMSIS_OS_H__ #define __CMSIS_OS_H__ #include <stdint.h> #include <stddef.h> #i ...
- CMSIS Example - Mail and Message
/*---------------------------------------------------------------------------- * RL-ARM - RTX *----- ...
- (一)stm32之CMSIS标准、库目录、GPIO
一.CMSIS标准 ST公司的stm32采用的是cortex-m3内核,内核是整个微处理器的CPU.该内核是ARM公司设计的一种处理器体系架构.内核与外设的关系就像PC上的CPU与硬盘.主板.内存等的 ...
- CMSIS标准
CMSIS 标准(Cortex Microcontroller Software Interface Standard) ,翻译过来是"ARM Cortex™ 微控制器软件接口标准" ...
- stm32之CMSIS标准、库目录、GPIO
一.CMSIS标准 ST公司的stm32采用的是cortex-m3内核,内核是整个微处理器的CPU.该内核是ARM公司设计的一种处理器体系架构.内核与外设的关系就像PC上的CPU与硬盘.主板.内存等的 ...
- cmsis dap interface firmware
cmsis dap interface firmware The source code of the mbed HDK (tools + libraries) is available in thi ...
- STM32开发笔记之——CMSIS DAP
都说开发stm32都是使用kail iar+jatg/swd的方式,然而arm公司已经开发出了CMSIS DAP的开源下载工具,全称是CoreSight Debug Access Port,网络上有大 ...
随机推荐
- iOS 开发者必不可少的 75 个工具,你都会了吗
如果你去到一位熟练的木匠的工作室,你总是能发现他/她有一堆工具来完成不同的任务. 软件开发同样如此.你可以从软件开发者如何使用工具中看出他水准如何.有经验的开发者精于使用工具.对你目前所使用的工具不断 ...
- vector 释放内存 swap
相 信大家看到swap这个词都一定不会感到陌生,甚至会有这样想法:这不就是简单的元素交换嘛.的确,swap交换函数是仅次于Hello word这样老得不能老的词,然而,泛型算法东风,这个小小的玩意儿却 ...
- Android ANR分析及解决方案
一:什么是ANR ANR:Application Not Responding,即应用无响应. ANR定义:在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个 ...
- Android Application 深入分析
http://blog.csdn.net/rain_butterfly/article/details/37598939
- 12、NFC技术:读写NFC标签中的Uri数据
功能实现,如下代码所示: 读写NFC标签的Uri 主Activity import cn.read.write.uri.library.UriRecord; import android.app.Ac ...
- C#入门基础
那么由 = 连接起来的这个式子 就叫赋值表达式 解决异常的 办法 for循环 常量 常量在程序中 怎么定义: const 类型 常量名= 值; 在程序中可以改变常量的值吗 不可以 一旦改变 ...
- spring依赖注入方法
依赖注入就是在程序运行时期,由外部容器动态的将依赖对象注入到组件中,通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员,而控制反转是指new实例工作不由我们程序员来做而是交给sprin ...
- 设计模式 策略-Strategy,装饰-Decorator,观察者-Observer
重温了Head First 3个设计模式.提炼一下思想,笔记如下. 策略-Strategy 当一个类或类族中重复实现某些同类的方法(behavior)时,考虑使用策略模式. 该模式是将Behavior ...
- 【一段日子荟萃】where should I go.
当<UNIX环境高级编程>和<鸟哥的私房菜>到我的桌头的时候,我忽然产生了厌倦的心. NO,我不是想做这个,我不是想学习这个操作系统的结构和接口. 我想些一个操作系统,更一般的 ...
- How to install php evn on ubuntu
1. How to install PHP EVN 打开终端,也就是命令提示符. 我们先来最小化组建安装,按照自己的需求一步一步装其他扩展.命令提示符输入如下命令: 1 sudo apt-get in ...