コード例 #1
0
ファイル: main.c プロジェクト: Moonhint/Smart-Lock-Prototype
int32_t main()
{
	STR_UART_T sParam;

	UNLOCKREG();
  DrvSYS_Open(50000000);
	LOCKREG();
   	
	DrvGPIO_InitFunction(E_FUNC_UART0);	// Set UART pins

	/* UART Setting */
    sParam.u32BaudRate 		  = 9600;
    sParam.u8cDataBits 		  = DRVUART_DATABITS_8;
    sParam.u8cStopBits 		  = DRVUART_STOPBITS_1;
    sParam.u8cParity 		    = DRVUART_PARITY_NONE;
    sParam.u8cRxTriggerLevel= DRVUART_FIFO_1BYTES;

	/* Set UART Configuration */
 	if(DrvUART_Open(UART_PORT0,&sParam) != E_SUCCESS);
	DrvUART_EnableInt(UART_PORT0, DRVUART_RDAINT, UART_INT_HANDLE);
	
	init_LCD();                 // initialize LCD panel
	clear_LCD();                 // clear LCD panel							 	
	print_Line(0, "Smpl_UART0_HC05"); // print title
    		   
	while(1)
	{
	}
	//DrvUART_Close(UART_PORT0);
}
コード例 #2
0
BOOL
xMBPortSerialInit( UCHAR ucPORT, ULONG ulBaudRate, UCHAR ucDataBits, eMBParity eParity )
{
    BOOL            bInitialized = TRUE;
    STR_RS485_T     RS485FnPara;
    STR_UART_T      Uart0Param;

    ucPORT = ucPORT;                                        //清楚为使用报警.
    switch (ucDataBits){                                    //配置数据位长度,该移植默认使用8位数据位
    case 8:
        break;
    default:
        bInitialized = FALSE;
    }
    Uart0Param.u32BaudRate = ulBaudRate;                        //配置波特率
    switch(eParity){                                            //配置字节格式
        case MB_PAR_EVEN:                                       //偶校验
            Uart0Param.u8cDataBits      = DRVUART_DATABITS_8;   //8位数据位
            Uart0Param.u8cStopBits      = DRVUART_STOPBITS_1;   //1位停止位
            Uart0Param.u8cParity        = DRVUART_PARITY_EVEN;  //偶校验
            break;
        case MB_PAR_ODD:                                        //奇校验
            Uart0Param.u8cDataBits      = DRVUART_DATABITS_8;   //8位数据位
            Uart0Param.u8cStopBits      = DRVUART_STOPBITS_1;   //1位停止位
            Uart0Param.u8cParity        = DRVUART_PARITY_ODD;   //奇校验
            break;
        case MB_PAR_NONE:                                       //无校验
            Uart0Param.u8cDataBits      = DRVUART_DATABITS_8;   //8位数据位
            Uart0Param.u8cStopBits      = DRVUART_STOPBITS_2;   //2位停止位
            Uart0Param.u8cParity        = DRVUART_PARITY_NONE;  //无校验
            break;
        default:                                                //偶校验
            Uart0Param.u8cDataBits      = DRVUART_DATABITS_8;   //8位数据位
            Uart0Param.u8cStopBits      = DRVUART_STOPBITS_1;   //1位停止位
            Uart0Param.u8cParity        = DRVUART_PARITY_EVEN;  //偶校验
            break;
    }
    Uart0Param.u8cRxTriggerLevel= DRVUART_FIFO_46BYTES;          //配置接收缓冲区长度
//    Uart0Param.u8TimeOut = 0x7f;                                //配置TIMEOUT时间
    if(bInitialized){                                           //初始化串口
        DrvUART_Open(UART_PORT0, &Uart0Param);
        UART0->MCR.LEV_RTS = 0;
        RS485FnPara.u8cAddrEnable = 0;
        RS485FnPara.u8cAddrValue = 0;
        RS485FnPara.u8cDelayTime = 2;
        RS485FnPara.u8cModeSelect = MODE_RS485_AUD;             //自动方向识别
        RS485FnPara.u8cRxDisable = 0;
        DrvUART_SetFnRS485(UART_PORT0,&RS485FnPara);
        DrvUART_EnableInt(  UART_PORT0,                         //使能以下中断
                            //DRVUART_THREINT|                  //发送保持寄存器空中断
                            //DRVUART_RLSINT |                  //线上接收中断,检测BIF,FEF,PEF
                            DRVUART_TOUTINT|                  //接收数据超时中断
                            //DRVUART_RDAINT,                   //接收数据可用中断
                            0,
                            (PFN_DRVUART_CALLBACK*)UART0Handler);
    }
    return bInitialized;
}
コード例 #3
0
ファイル: app.c プロジェクト: he992790757/C8_2014
int  main (void)
{
//	uint32_t Temp=0;
//================================配置系统时钟==============//
	UNLOCKREG();  
	SYSCLK->PWRCON.OSC22M_EN = 1;//default is enabled 
	SYSCLK->PWRCON.XTL12M_EN = 1;
	SYSCLK->CLKSEL0.HCLK_S = 0;//using 12M as HCLK src

  //  DrvSYS_Delay(5000);    	
    Delay(5000)	 ;
    DrvSYS_Open(48000000);   
//	DSP_INIT_PIN = 0 ; 	
//  LCD_POWER = 1 ;  

//	
   
//===================================================================================//	
	BSP_INIT_UART0();                												 //init the uart0
	GR_DBG_PRINTF("System Is run\n\n"); 
	DrvUART_EnableInt(UART_PORT0,DRVUART_RDAINT | DRVUART_TOUTINT,UART_INT_HANDLE);	 //
//===================================================================================//
 //	Vir_Init() ; //初始化环境变量	
	
////===============================读取dataflash存储的系统信息=========================//	
  //读取flash中数据	  第一次运行读写写入默认值
////======================================开始任务=====================================//


	OSInit();
	CPU_IntDis() ;

 //	SysTick_Config(120000);	 
 //	InitValue();
                                     
#ifdef THREAD_TEST
    OSTaskCreateExt(Task2,  (void *)0,  (OS_STK *)&Task2_Stack[STACK2SIZE-1],  Task2_Prio,Task2_Prio,Task2_Stack,STACK2SIZE ,NULL,OS_TASK_OPT_STK_CHK);
	OSTaskCreateExt(Task1,  (void *)0,  (OS_STK *)&Task1_Stack[STACK1SIZE-1],   Task1_Prio,Task1_Prio,Task1_Stack,STACK1SIZE,NULL,OS_TASK_OPT_STK_CHK);
	OSTaskCreateExt(Task3,  (void *)0,  (OS_STK *)&Task3_Stack[STACK3SIZE-1],   Task3_Prio,Task3_Prio,Task3_Stack,STACK3SIZE,NULL,OS_TASK_OPT_STK_CHK);
//	OSTaskCreate(SYS_Task,  (void *)0,  (OS_STK *)&SYS_Task_Stack[STACKSIZE-1],SYS_Task_Prio); 
#endif
	OSStart();   
//===================================================================================//
}
コード例 #4
0
ファイル: FMC_Example.c プロジェクト: clarenceliu/Mplib
/**
 * @brief       UART0 init
 *
 * @param       None
 *
 * @return      None
 *
 * @details     Set UART0 8n1, 115200bps
 */
void UART0_Init(void)
{
    STR_UART_T sParam;

    GPIO_UART0();				//En: Set UART0 all pins to PB0=RX,PB1=TX,PB2=RTS,PB3=CTS

    /* UART Setting */
    sParam.u32ClkSrc			= CLK_UART_HXT;
    sParam.u32ClkDiv			= 1;
    sParam.u32ClkFreq			= __XTAL;			//HXT/1 == __XTAL
    sParam.u32BaudRate 			= 115200;
    sParam.u32cDataBits 		= UART_WORD_LEN_8;
    sParam.u32cStopBits 		= UART_STOP_BIT_1;
    sParam.u32cParity 			= UART_PARITY_NONE;
    sParam.u32cRxTriggerLevel	= UART_FCR_RFITL_14BYTES;
    sParam.u32BaudMode    		= UART_BAUD_MODE2;
    sParam.u8RxTimeOut			= 200;

    /* Set UART Configuration */
    DrvUART_Init(UART0,&sParam);
    /* Enable UART Interrupt */
    DrvUART_EnableInt(UART0, UART_IER_RDA_IEN|UART_IER_RTO_IEN|UART_IER_TIMEOUT_COUNTER_EN);

}