⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test1.c

📁 ucos如何移植到单片机mega128
💻 C
字号:
/*
********************************************************************************
* Portierung des RTOS "礐/OS-II" von Jean J. Labrosse auf den ATmega103
* 
* Compiler:		IIC von imagecraft
* File:			Test1.c (Testapplikation)
* By:			Joerg Meyer
* Revision:		0
*
*
*
********************************************************************************
*/
#define Test1_GLOBALS
#include "includes.h"


//******************************************************************************
// Constants
#define TaskStartPrio	10		// Task-Prioritaeten


//*****************************************************************************
// Variablen
OS_STK	Task1Stack[OS_TASK_DEF_STK_SIZE];		// startup task stack
OS_STK	Task2Stack[OS_TASK_DEF_STK_SIZE];	

//*****************************************************************************
// Prototypes
void Task1(void *pdata);
void uart0_init(void);
void Task3(void *data);
//*****************************************************************************
// Start
void main(void){
	OSInit();		// OS init

	OSTaskCreate(Task1,
				(void *)(int)'a',
				&Task1Stack[OS_TASK_DEF_STK_SIZE-1],
				TaskStartPrio);
	
	OSTaskCreate(Task3,
				(void *)(int)'b',
				&Task2Stack[OS_TASK_DEF_STK_SIZE-1],
				TaskStartPrio+1); 
	// init und start tick
	uart0_init();
	TC2_Init();	
	DDRG |= 0x18; PORTG &=~(1<<PG3); PORTG &=~(1<<PG4);	
	OSStart();		// start multitasking

}

//*****************************************************************************
void Task1(void *data){
//	char c = (int)data;

	    
	// Timer/Counter#2 Overflow and Comp init

		for (;;){
//    	putchar(c);
		while(!(UCSR0A&0x20));
		UDR0 = 'a';
//		PORTA = ~PORTA;
//		DDRA = 0xff;
		OSTimeDly (5);

	}
}
void Task3(void *data){
//	char c = (int)data;
	for (;;){
//    	putchar(c);
		while(!(UCSR0A&0x20));
		UDR0 = 'b';
//		PORTA = ~PORTA;
//		DDRA = 0xff;
		OSTimeDly (5);

	}
}

⌨️ 快捷键说明

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