导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→这是我的源程序

* 23077: RTX51tiny的问题:请高手指点

   minomi 
minomi发表的帖子 

 这是我的源程序
/* This program using RTX51tny  for 89c2051 controler
conf_tny.a51  be modified:
INT_CLOCK=10000;TIMESHARING=5; */

#include "reg51.h"
#include "rtx51tny.h"
#define uchar unsigned char
#define INIT 0
#define WDT 1
#define COMMAND 2

uchar idata BUFR[4];
uchar pointer;
unsigned int starting;
bit idata START,READY;

/**********************************************/
init()_task_ INIT
{
SCON=0x50;/* mode1:8-bit UART,enable receiver*/
TMOD|=0x21;/* timer0:mode1;timer1:mode2 */
TL1=TH1=0xe8;/* 1200baud,oxf4=2400baud*/
TR1=1;
TR0=1;
ES=1;
pointer=0;
starting=0;
READY=1;
START=0;
os_create_task(WDT);
os_create_task(COMMAND);
os_delete_task(INIT);

}
watchdog()_task_ WDT
{
while(1){
T0=!T0;
os_wait(K_IVL,4,0);/* flash the LED every 40ms once*/
if(START) starting++;
if(starting==400){/*4000ms is the longest time*/
                   READY=0;
   }
if(starting==2000){READY=1;START=0;starting=0;}/*20s must stop!*/
         }
}
void serial() interrupt 4 using 2
{
if(TI)TI=0;
else if(RI){
                 BUFR[pointer]=SBUF;
   SBUF=BUFR[pointer];/* echo the character received */
   while(TI==0);
   TI=0;
   pointer++;
   if(pointer==4){
                   if(READY) SBUF=0;
       else SBUF=0xff;
       while(TI==0);
       TI=0;
       isr_send_signal(COMMAND);
       /*send a signal once every frame*/
                 }
       }

}
command()_task_ COMMAND
{ uchar i;
 while(1)
 {
 os_wait(K_SIG,0,0);/*waiting for signal from serial()*/
 function();/*processing received character*/
 for(i=0;i  <4;i++)BUFR[i]=0;/* clear the buffer*/
 }


发表时间:2003年4月2日19:19:39

  
回复该帖

本主题共有 3 帖,分页:>>>>>该主题的所有内容[3]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  23171.[详细]没人回答???急!!!!!
摘要:......(无内容)
- [minomi][1052次] 2003年4月3日

[上一篇帖子]:请各位老兄帮个忙小弟有个问题,请各位老兄帮个忙,用什么器件可以实现可变成的分频?
[下一篇帖子]:RTX51tiny的问题:请高手指点我在做一个工程,采用RTX51tny编程,遇到以下问题: