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

📄 main.c

📁 射频芯片nRF905例程
💻 C
字号:
#include <ARTX.h>
#include <LPC213x.H>    // Philips Peripheral Registers
#include <LPC213xDEF.H>	//ARM菜鸟HotPower创建定义文件(新版)
#include <main.h>
#include <string.h>
#include <stdio.h>

#pragma NOINIT
#pragma save
#pragma optimize (7)


volatile unsigned int SystemRamTest;//RAM掉电测试变量

OS_TID Main_Task, Key_Task, Led_Task, Lednum_Task;
OS_TID Beep_Task, Lcd_Task, Adc_Task, Pwm_Task;

void MainTask (void) __task;
void KeyTask (void) __task;
void LcdTask (void) __task;


void SystemInit(void);
void KeyInit(void);
void LcdInit(void);


void SystemInit(void) {
  if (SystemRamTest != 0x5555aaaa) {
  }
}

void KeyInit(void) {
  if (SystemRamTest != 0x5555aaaa) {
  }
}

void LcdInit(void) {
  if (SystemRamTest != 0x5555aaaa) {
  }
}


void MainTask (void) __task {
  SystemInit();
  Main_Task = os_tsk_self ();
  Key_Task = os_tsk_create (KeyTask, 1);//创建KeyTask任务及级别
  Lcd_Task = os_tsk_create (LcdTask, 1);//创建LcdTask任务及级别
  SystemRamTest = 0x5555aaaa;
  for (;;) {
    os_evt_set (0x0001, Key_Task);//
    
    os_tsk_pass();   
  }
}

void KeyTask (void) __task {
OS_RESULT result;
unsigned int i;	
  KeyInit();
  for (;;) {
    result = os_evt_wait_or(0xffff, 0xffff);//等待LedTask任务事件发生
	if(result == OS_R_EVT) {
	  i = os_evt_get();
	  switch(i) {
	    case 0x0001:  ;//IOCLR1 = (1 << LED1);//点亮LED1
		     break;
	  }
	}
    os_tsk_pass();   
  }
}

void LcdTask (void) __task {
OS_RESULT result;
//unsigned int i;	
  LcdInit();
  for (;;) {
    result = os_evt_wait_or(0xffff, 0xffff);//等待LcdTask任务事件发生
	if(result == OS_R_EVT) {
	}
//    os_dly_wait (2);//延时20mS
    os_tsk_pass();   
  }
}


void main (void) {
volatile unsigned int start;
  for (start = 0; start < 1000000; start ++);
  os_sys_init (MainTask);//启动ARTX,此函数并不返回main()
}

⌨️ 快捷键说明

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