CMSIS Example

 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 }
原文地址:https://www.cnblogs.com/shangdawei/p/3854200.html