ilydong12dong 发表于 2011-7-30 15:32:54

ARM92410串口中断接收数据

#include"../ucos-ii/includes.h"               /* uC/OS interface */
#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/ads1255.h"//
#include "../inc/sys/gpio_usr.h"    //
//#include "../src/GUI/Uartke.h"
#include <string.h>//
#include <stdio.h>//

volatile INT8U uart1_data={0};


void irq_Uart1_trxd(int irq,void *data)
{
    U8 err;
   //INT8U buffer;
rINTMSK = rINTMSK | (1 << IRQ_UART1);//关中断
      while(!(rUTRSTAT1&0x1));//是否接收到数据
   uart1_data=rURXH1;
      Uart_Printf(0,"uart1_data=%x\n",uart1_data);
   while(!(rUTRSTAT1&0x1));//是否接收到数据
    uart1_data=rURXH1;
      Uart_Printf(0,"uart1_data=%x\n",uart1_data);
   //OSSemPost(ad_collet_flag);
   //}
   rINTMSK = rINTMSK & (~(1 << IRQ_UART1));//开中断
}
/*********************************************************************************************************
** 函数名称 : main
** 函数功能 :
** 输入参数 :
** 返回参数 :
** 创    建 :
** 修    改 :
** 特殊说明 :
*********************************************************************************************************/
int main(void)
{
        ARMTargetInit();                                                                                // 串口的初始化及波特率设置,115200,9600,9600
        OSInit();                                                                                                // 系统初始化
       
        SetISR_Interrupt(IRQ_RXD1 ,irq_Uart1_trxd ,NULL);
        OSAddTask_Init(1);                                                                                // 创建系统任务
        OSStart();                                                                                                // 系统运行
    return 0;
}

linyinhai 发表于 2011-9-11 09:29:04

高手!!!
页: [1]
查看完整版本: ARM92410串口中断接收数据