Example #1
0
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);
}
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;
}
Example #3
0
void setupUART()
{
#ifdef M451
	setupCommandUART();
#else
	STR_UART_T param;
	DrvGPIO_InitFunction(E_FUNC_UART1);
	DrvSYS_SelectIPClockSource(E_SYS_UART_CLKSRC,3);
	param.u32BaudRate        = UART_BAUD_RATE;
	param.u8cDataBits        = DRVUART_DATABITS_8;
	param.u8cStopBits        = DRVUART_STOPBITS_1;
	param.u8cParity          = DRVUART_PARITY_NONE;
	param.u8cRxTriggerLevel  = DRVUART_FIFO_1BYTES;
	param.u8TimeOut        	 = 0;
	DrvUART_Open(UART_PORT1, &param);
#endif
	printf("Version:%d\n", VERSION_CODE);
}
Example #4
0
//------------------------------
void bacarfid(){
	uint8_t hasiluart[8];
	STR_UART_T sParam;
				UNLOCKREG();
				DrvSYS_Open(50000000);
				LOCKREG();
				/* Set UART Pin */
					DrvGPIO_InitFunction(E_FUNC_UART0);

					/* 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;
			DrvUART_Open(UART_PORT0,&sParam);


}
Example #5
0
/*
*********************************************************************************************************
*                                            LOCAL FUCTION
*********************************************************************************************************
*/
int32_t BSP_INIT_UART0(void)
{
	STR_UART_T param;

	/* SYSCLK =>12Mhz*/
	DrvGPIO_InitFunction(E_FUNC_UART0_RX_TX);

	/* Select UART Clock Source From 12MHz */
	DrvSYS_SelectIPClockSource(E_SYS_UART_CLKSRC,0); 
	
    param.u32BaudRate        = 115200;
    param.u8cDataBits        = DRVUART_DATABITS_8;
    param.u8cStopBits        = DRVUART_STOPBITS_1;
    param.u8cParity          = DRVUART_PARITY_NONE;
    param.u8cRxTriggerLevel  = DRVUART_FIFO_62BYTES;
    param.u8TimeOut        	 = 250;
    if(DrvUART_Open(UART_PORT0,&param) == 0)
		return TRUE;
	else
		return FALSE;
}