ex1.c

来自「dsp芯片TMS320C5416实验程序」· C语言 代码 · 共 61 行

C
61
字号
#include "includes.h" 
#include "ioports.h"

#define IMR	*(volatile unsigned int*)0x00
#define IFR	*(volatile unsigned int*)0x01

#define TASK_STK_SIZE          256                 /* Size of each task's stacks (# of WORDs)            */
#define N_TASKS                2                   /* Number of identical tasks                          */

OS_STK  TaskStk[N_TASKS][TASK_STK_SIZE];     	   /* Tasks stacks                                  */
OS_STK  task_startStk[TASK_STK_SIZE];
                         
void task_start(void *data);
void task_led(void *data);

void main()
{  
	/* 板卡IO端口及外设初始状态初始化 */
	LED_DAT = 0x01;
	
	INIT_C54(); 
	
	OSInit();
	                    
	OSTaskCreate(task_start, (void *)0, 
				 (void *)&task_startStk[TASK_STK_SIZE - 1], 0);

	OSStart();
	
	while(1);
}

void task_start(void *data)
{   
    UBYTE err;
    
	OS_ENTER_CRITICAL();
	StartTimer();							/* install the C54x Timer */
	OS_EXIT_CRITICAL();
	
	OSTaskCreate(task_led, (void *)0, 
				 (void *)&TaskStk[0][TASK_STK_SIZE - 1], 2);

	for (;;) {
    	err++;
        OSTimeDly(100);                     /* Delay 100 clock tick */
    }
}

void task_led(void *data)
{
	int index = 0;
	
	for( index = 0; ; index++)
	{
		OSTimeDly(1000);
		LED_DAT = 0x01<<(index&0x07);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?