#include"../ucos-ii/includes.h"               
#include "../ucos-ii/add/osaddition.h" 
#include "../inc/drivers.h" 
#include "../inc/sys/lib.h" 
#include "../inc/drv/reg2410.h" 
//#include "../src/gui/gui.h" 
#include "../inc/sys/uart.h"   // 
#include "../inc/sys/uartdrive.h"// 
#include "../inc/sys/gpio_usr.h"    // 
//#include "../src/GUI/Uartke.h" 
#include <string.h>// 
#include <stdio.h>// 
 
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@【 任务定义 】@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
OS_EVENT *ad_collet_flag;           //定义信号量 
 
 
OS_STK task0_send_Uartc_Stack[STACKSIZE]={0, };   //Main_Test_Task堆栈 
void Task0_send_Uart(void *Id);             //Main_Test_Task 
#define Task0_send_Uart_Prio     11 
 
 
 
volatile INT8U uart1_data[3]={0}; 
 
 
void stm32_data_transition() 
{ 
        if(uart2_data[0]  == 0xaa) 
        { 
         
        } 
        if((uart2_data[0] & 0xf0) == 0x50) 
       { 
                       angle_data = (FP32)uart1_data[1] + (FP32)uart1_data[2] / 100; 
       } 
       else 
                       if((uart1_data[0] & 0xf0) == 0xa0) 
                               angle_data  =  -(FP32)uart1_data[1] - (FP32)uart1_data[2] / 100; 
                       else 
                               Uart_Printf(0,"data err\n"); 
        if((uart1_data[0] & 0x0f) == 0x05) 
        { 
                       distance =  (int)uart1_data[3]; 
        } 
       else 
                       if((uart1_data[0] & 0x0f) == 0x0a) 
                               distance =   - (int)uart1_data[3]; 
                       else 
                               Uart_Printf(0,"data err\n"); 
        
} 
/********************************************************************************************************* 
** 函数名称 : main 
** 函数功能 : 
** 输入参数 :  
** 返回参数 :  
** 创    建 :  
** 修    改 : 
** 特殊说明 :  
*********************************************************************************************************/ 
int main(void) 
{ 
        ARMTargetInit();                          // 串口的初始化及波特率设置,115200,9600,9600 
        OSInit();                                // 系统初始化 
         
        OSTaskCreate(Task0_send_Uart,  (void *)0,  (OS_STK *)&task0_send_Uartc_Stack[STACKSIZE-1],  Task0_send_Uart_Prio); 
         
        OSAddTask_Init(1);                                        // 创建系统任务 
        OSStart();                                                                // 系统运行 
        return 0; 
} 
 
void Task0_send_Uart(void *Id) 
{ 
        Uart_sendbyte(1,0x01); 
        Uart_Printf(0,"aa"); 
         
        while(1) 
        { 
        while(!(rUTRSTAT1&0x1));//是否接收到数据 
        uart1_data[0]=rURXH1; 
        if(uart1_data[0] ==0xbb) 
        { 
        while(!(rUTRSTAT1&0x1));//是否接收到数据 
        uart1_data[1]=rURXH1; 
        Uart_Printf(0,"uart1_data[1]=%x\n",uart1_data[1]); 
        while(!(rUTRSTAT1&0x1));//是否接收到数据 
        uart1_data[2]=rURXH1; 
        Uart_Printf(0,"uart1_data[2]=%x\n",uart1_data[2]); 
        stm32_data_decode(); 
        hudelay(1000); 
        }  
         OSTaskSuspend(11); 
    }  
} 
 |