Example #1
0
void UART0_Init(void)
{
/*---------------------------------------------------------------------------------------------------------*/
/* Init UART                                                                                               */
/*---------------------------------------------------------------------------------------------------------*/
    UART0->BAUD = UART_BAUD_MODE2 | UART_BAUD_DIV_MODE2(PLL_CLOCK, 115200);
    _UART_SET_DATA_FORMAT(UART0, UART_WORD_LEN_8 | UART_PARITY_NONE | UART_STOP_BIT_1);
}
Example #2
0
void UART0_Init(void)
{
/*---------------------------------------------------------------------------------------------------------*/
/* Init UART                                                                                               */
/*---------------------------------------------------------------------------------------------------------*/
    /* Configure UART0 and set UART0 Baudrate */
    UART0->BAUD = UART_BAUD_MODE2 | UART_BAUD_DIV_MODE2(__XTAL, 115200);
    _UART_SET_DATA_FORMAT(UART0, UART_WORD_LEN_8 | UART_PARITY_NONE | UART_STOP_BIT_1);
}
Example #3
0
void UART1_Init()
{
/*---------------------------------------------------------------------------------------------------------*/
/* Init UART                                                                                               */
/*---------------------------------------------------------------------------------------------------------*/

    UART1->BAUD = UART_BAUD_MODE2 | UART_BAUD_DIV_MODE2(__XTAL, 115200);

    _UART_SET_DATA_FORMAT(UART1, UART_WORD_LEN_8 | UART_PARITY_NONE | UART_STOP_BIT_1);
}
Example #4
0
/*---------------------------------------------------------------------------------------------------------*/
void RS485_9bitModeSlave()
{
    /* Set Data Format*/ /* Only need parity enable whenver parity ODD/EVEN */
    _UART_SET_DATA_FORMAT(UART1, UART_WORD_LEN_8 | UART_PARITY_EVEN | UART_STOP_BIT_1);   

    /* Set RX Trigger Level = 1 */
    _UART_SET_RX_TRG_LEV(UART1,UART_FCR_RFITL_1BYTE);

    #if(IS_USE_RS485NMM == 1)
        printf("+-----------------------------------------------------------+\n");
        printf("|    Normal Multidrop Operation Mode                        |\n");
        printf("+-----------------------------------------------------------+\n");
        printf("| The function is used to test 9-bit slave mode.            |\n");
        printf("| Only Address %2x and %2x,data can receive                  |\n",MATCH_ADDRSS1,MATCH_ADDRSS2);
        printf("+-----------------------------------------------------------+\n");
        
        /* Set RX_DIS enable before set RS485-NMM mode */
        UART1->FCR |= UART_FCR_RX_DIS_Msk;
        
        /* Set RS485-NMM Mode */
        UART1->ALT_CSR = UART_ALT_CSR_RS485_NMM_Msk | 
                         UART_ALT_CSR_RS485_ADD_EN_Msk ;
    #else
        printf("Auto Address Match Operation Mode\n");
        printf("+-----------------------------------------------------------+\n");
        printf("| The function is used to test 9-bit slave mode.            |\n");
        printf("|    Auto Address Match Operation Mode                      |\n");
        printf("+-----------------------------------------------------------+\n");
        printf("|Only Address %2x,data can receive                          |\n",MATCH_ADDRSS1);
        printf("+-----------------------------------------------------------+\n");

        /* Set RS485-AAD Mode and address match is 0xC0 */
        UART1->ALT_CSR = UART_ALT_CSR_RS485_AAD_Msk    | 
                         UART_ALT_CSR_RS485_ADD_EN_Msk |     //ADD_EN is option. 
                         ((uint32_t)(MATCH_ADDRSS1)<< UART_ALT_CSR_ADDR_MATCH_Pos) ;
    #endif
    /* Set RS485 Function */
    _UART_SEL_FUNC(UART1,UART_FUNC_SEL_RS485);

    /* Enable RDA\RLS\Time-out Interrupt  */
    _UART_ENABLE_INT(UART1, (UART_IER_RDA_IEN_Msk | UART_IER_RLS_IEN_Msk | UART_IER_RTO_IEN_Msk));
    NVIC_EnableIRQ(UART1_IRQn);

    printf("Ready to recevice data...(Press any key to stop test)\n");
    GetChar();
    
    /* Flush FIFO */
    _UART_FLUSH_FIFO(UART1,UART_FCR_TFR_Msk|UART_FCR_RFR_Msk);

    _UART_DISABLE_INT(UART1, (UART_IER_RDA_IEN_Msk | UART_IER_RLS_IEN_Msk | UART_IER_RTO_IEN_Msk));     

    /* Set UART Function */
    _UART_SEL_FUNC(UART1,UART_FUNC_SEL_UART);
    printf("\n\nEnd test\n");
}
Example #5
0
void UART0_Init(void)
{
/*---------------------------------------------------------------------------------------------------------*/
/* Init UART                                                                                               */
/*---------------------------------------------------------------------------------------------------------*/
    /* Reset IP */
    SYS->IPRSTC2 |=  SYS_IPRSTC2_UART0_RST_Msk;
    SYS->IPRSTC2 &= ~SYS_IPRSTC2_UART0_RST_Msk;

    /* Configure UART0 and set UART0 Baudrate */
    UART0->BAUD = UART_BAUD_MODE2 | UART_BAUD_DIV_MODE2(PLL_CLOCK, 115200);
    _UART_SET_DATA_FORMAT(UART0, UART_WORD_LEN_8 | UART_PARITY_NONE | UART_STOP_BIT_1);
}
Example #6
0
void RS485_SendDataByte(uint8_t *pu8TxBuf, uint32_t u32WriteBytes)
{
    _UART_SET_DATA_FORMAT(UART1,UART_WORD_LEN_8 | UART_PARITY_SPACE | UART_STOP_BIT_1);
    UART_Write(UART1,pu8TxBuf,u32WriteBytes);
}
Example #7
0
/*---------------------------------------------------------------------------------------------------------*/
void RS485_SendAddressByte(uint8_t u8data)
{
    _UART_SET_DATA_FORMAT(UART1,UART_WORD_LEN_8 | UART_PARITY_MARK | UART_STOP_BIT_1);
    _UART_SENDBYTE(UART1,u8data);
}