404710520 发表于 2012-9-21 17:19:38

ucos移植到c8051f340上的问题,求指点

刚学ucos不久,网上下载的移植程序到c8051f340上就做了两个任务,一个是让LED灯间隔时间闪烁,另一个就是利用串口1发数据,LED灯闪烁实现了,可向串口发数据怎么也实现不了,串口中断根本没执行。以下是部分代码
void Task1( void* unused )
{
        INT8U         i;
        unused = unused;
        while( 1 )
        {
                OSTimeDly( 400 );                 //OS定义的延时函数,长短由时钟节拍的数目决定
                //if (RfBusy == 0)                        //本系统设定的时钟节拍为10ms
                //{       
                        for(i=0;i<32;i++)
                        {
                                SendData1buff = SendData1_1;
                        }
                        SendTimeDog = 10000;
                        Uart1TIDelay=400;
                        Uart1SendBusy=0x55;
                        SendNum1=1;
                        SendNumber1=32;
                        SBUF1=SendData1buff;
                //}               
        }
}
/********************************************
                        串口1初始化
********************************************/
void UART1_Init (void)
{
        SBCON1 = 0x43;
        SBRL   = 0xf63c;
        SCON1= 0x10;
        SMOD1= 0x3c;
        EIE2 = 0x02;
}
/********************************************
                        串口1中断程序
********************************************/
void UART1_ISR(void) interrupt 16
{
        if(SCON1&0x01)                                           //收到数据,来自无线模块
        {
                RecData1 = SBUF1;
                Pcpointer1W++;
                if(Pcpointer1W >= 192)Pcpointer1W = 0;
                if(Pcpointer1W == Pcpointer1R)
                {
                        Pcpointer1R++;
                        if(Pcpointer1R >= 192)Pcpointer1R = 0;
                }

        SCON1&=0xfe;                       //收到数据标志位清零               
        }


    if(SCON1&0x02)         //串口1向数传模块发数据,设置数据为固定数据
    {
                if(SendNum1<SendNumber1)
                {
                        SBUF1=SendData1buff;
                        SendNum1++;
                }
                else
                {
                        //SendNumber1 = 0;
                        Uart1SendBusy=0;
                        //SendNumber1 = 0;
                }

                Uart1TIDelay=400;
      SCON1&=0xfd;
    }
}
求高手指点下,本人初学还希望指导下怎么学ucos,能做到移植到片子上和写任务,以后的方向想偏向于硬件。
再次求高手帮助。

404710520 发表于 2012-9-22 14:39:49

没有大神帮帮忙吗???
页: [1]
查看完整版本: ucos移植到c8051f340上的问题,求指点