CMSIS Example - osTimer osTimerCreate osTimerStart

 1 osTimerId timer;
 2
 3 uint32_t cnt=0;
 4 void timerHandler( void * arg )
 5 {
 6   cnt++;
 7   osTimerStart( timer, 100 );
 8 }
 9
10 osTimerDef( timer, timerHandler );
11
12
13 void Thread0( void * arg);
14 void Thread1( void * arg);
15
16 osThreadDef( Thread0, Thread0, osPriorityNormal, 512 );
17 osThreadDef( Thread1, Thread1, osPriorityAboveNormal, 512 );
18
19
20 void Thread0( void * arg)
21 {
22   while(1)
23   {
24     osDelay( 100 );
25   }
26 }
27
28 void Thread1( void * arg)
29 {
30   osTimerStart( timer, 100 );
31
32   while(1)
33   {
34     osDelay( 10 );
35   }
36 }
37
38 int main( void )
39 {
40   osKernelInitialize();
41
42   osThreadCreate( osThread(Thread0), (void *)100 );
43   osThreadCreate( osThread(Thread1), (void *)200 );
44
45   timer = osTimerCreate( osTimer(timer), osTimerOnce, 0 );
46
47   osKernelStart();
48
49   return 0;
50 }

CMSIS Example - osTimer osTimerCreate osTimerStart

时间: 2024-10-24 09:53:57

CMSIS Example - osTimer osTimerCreate osTimerStart的相关文章

CMSIS RTOS -- embOS segger

#ifndef __CMSIS_OS_H__ #define __CMSIS_OS_H__ #include <stdint.h> #include <stddef.h> #include "RTOS.h" // API version (main [31:16] .sub [15:0]) #define osCMSIS 0x10002 // RTOS identification and version (main [31:16] .sub [15:0]) #

CMSIS Example - Mail and Timer

1 2 #include <stdint.h> 3 4 #include "bsp-fifisdr.h" 5 6 #include "lpclib.h" 7 #include "task-gui.h" 8 9 10 #define GUI_QUEUE_LENGTH (4) 11 12 13 typedef struct { 14 uint8_t opcode; 15 } GUI_Message; 16 17 18 /** Messag

CMSIS OS None

/* ---------------------------------------------------------------------- * Copyright (C) 2011 ARM Limited. All rights reserved. * * $Date: 10. Februar 2012 * $Revision: V0.03 * * Project: CMSIS-RTOS API * Title: cmsis_os.h template header file * * V

软件定时器osTimerCreate返回NULL

CMSIS-RTOS是对FreeRtos的封装,函数名比較适合纯软件编程. 如今的版本号是1.0.2. id1 = osTimerCreate(osTimer(Timer_1), osTimerOnce, NULL); 可是这个osTimerCreate总是返回0x00000000. 就是创建软件定时器不成功. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/di

ARM Cortex-M3 异常优先级以及CMSIS RTOS RTX的中断优先级

通常异常包括一些系统异常,以及中断. 异常类型 Cortex-M3处理器支持多种类型的异常: RESET, NMI, HardWare Fault; PSV,SVC等可编程中断: 其他的可编程中断,例如timer,GPIO等. 其中第1类异常的优先级是固定,不可改变的.其他都是可以修改的. Cortex-M3处理器提供了PRIMASK选项,用来屏蔽所有可编程的中断:提供了FAULTMASK来屏蔽HardWare Fault和所有可屏蔽中断. 异常优先级 Cortex-M3处理器支持NVIC的中断

CMSIS RTX开发之中断优先级(Interrupt priority)

在使用CMSIS RTX这个RTOS时,遇到了如何设计异常的问题.(异常包含中断,为了让搜索引擎更好搜索,本文不区分异常和中断,但是其实异常是中断更为通用的叫法.) 问题有2个: 第一个,如何设置异常优先级. 第二个,进程的优先级和异常优先级要如何匹配. 我们先看第一个问题,如何设置异常优先级. 在使用CMSIS RTX RTOS时,由于RTOS本身会利用Systick,SVC,PendSV这3个异常来完成进程调度之类的任务.而用户在编程开发时,还会用到一些其他中断,GPIO,UART之类. 那

CMSIS的简介

Cortex微控制器软件接口标准(Cortex Microcontroller Software Interface Standard)是ARM和一些编译器厂家以及半导体厂家共同遵循的一套标准,是由ARM专门针对CORTEX-M系列提出的标准.在该标准的约定下,ARM和芯片厂商会提供一些通用的API接口来访问Cortex内核以及一些专用外设,以减少更换芯片以及开发工具等移植工作所带来的金钱以及时间上的消耗.只要都是基于Cortex的芯片,代码均是可以复用的.CMSIS是 Cortex-M 处理器

CMSIS RTOS RTX License

最近在开发项目的过程有用到CMSIS RTOS RTX RTOS,需要关注他的授权license. 注意,我使用的是CMSIS RTOS RTX,和Keil RTX. 在CMSIS RTOS RTX的源码中,看到这应该是基于BSD的license,使用起来就放心了. 而Keil RTX就不一样了,他是捆绑在Keil MDK 专业版里面的,包在MDK license一起售卖,一年的license,也就是每年收一次钱.

keil CMSIS PACK制作中文 手册

CMSIS-Pack 文档 CMSIS-Pack描述了一个软件组件,设备参数和评估板板级支持之间交互机制.基于xml的包描述文件(PDSC)描述一个软件的内容包(文件集合),包括: ?源代码,头文件和软件库 ?文档和源代码模板 ?设备以及启动代码和编程算法参数 ?示例项目 完整文件与PDSC文件的打包收集在ZIP格式的软件包.所述PDSC文件被设计为软件开发环境,并描述了用户和设备相关的上下文中这样的软件包提供的文件.软件包可用于多种用途(见下文). 安装软件包后,所有附带的软件组件提供给开发工