发新帖我要提问
12
返回列表
打印
[应用方案]

M0的串口问题

[复制链接]
楼主: Mancherstun
手机看帖
扫描二维码
随时随地手机跟帖
21
Mancherstun|  楼主 | 2015-12-16 20:41 | 只看该作者 回帖奖励 |倒序浏览
/*---------------------------------------------------------------------------------------------------------*/
/* Function:     DrvUART_SetFnIRDA                                                                         */
/*                                                                                                         */
/* Parameter:                                                                                              */
/*     u32Port          -[in]   UART Channel:  UART_PORT0 / UART_PORT1                       */
/*               STR_IRCR_T       -[in]   Ther stucture of IRCR                                */
/*                                            It includes of                                               */
/*                                               u8cTXSelect: 1: Enable Irda transmit function.(TX mode)   */
/*                                                            0: Disable Irda transmit function.(RX mode)  */
/*                                               u8cInvTX: Inverse TX signal                               */
/*                                               u8cInvRX: Inverse RX signal                               */
/*                                                                                                         */
/* Returns:                                                                                                */
/*               None                                                                                    */
/*                                                                                                         */
/* Description:                                                                                            */
/*               The function is used to configure IRDA relative settings.                                 */
/*               It consists of TX or RX mode and Inverse TX or RX signals.                                */
/*---------------------------------------------------------------------------------------------------------*/
void DrvUART_SetFnIRDA(E_UART_PORT u32Port,STR_IRCR_T *str_IRCR )
{
UART_T * tUART;
tUART = (UART_T *)((uint32_t)UART0 + u32Port);
tUART->FUNSEL.FUN_SEL  = FUN_IRCR;           /* Enable IrDA function and configure */
tUART->IRCR.TX_SELECT = (str_IRCR->u8cTXSelect) ?1:0;
tUART->IRCR.INV_TX  = str_IRCR->u8cInvTX ;
tUART->IRCR.INV_RX  = str_IRCR->u8cInvRX ;
}

使用特权

评论回复
22
Mancherstun|  楼主 | 2015-12-16 20:41 | 只看该作者
/*---------------------------------------------------------------------------------------------------------*/
/* Function:     DrvUART_SetFnRS485                                                                        */
/*                                                                                                         */
/* Parameter:                                                                                              */
/*     u32Port             -[in]   UART Channel:  UART_PORT0 / UART_PORT1                       */
/*               STR_RS485_T       -[in]   Ther stucture of RS485                                */
/*                                            It includes of                                               */
/*                                               u8cModeSelect: MODE_RS485_AUD / MODE_RS485_AAD            */
/*                                                              MODE_RS485_NMM                             */
/*                                               u8cAddrEnable: Enable or Disable RS-485 Address Detection */
/*                                               u8cAddrValue:  Match Address Value                        */
/*                                               u8cDelayTime:  Set transmit delay time value              */
/*                                               u8cRxDisable:  Enable or Disable receiver function        */
/* Returns:                                                                                                */
/*               None                                                                                   */
/*                                                                                                         */
/* Description:                                                                                            */
/*               The function is to Set RS485 Control Register                                             */
/*---------------------------------------------------------------------------------------------------------*/
void DrvUART_SetFnRS485(E_UART_PORT u32Port,STR_RS485_T *str_RS485)
{

UART_T * tUART;
tUART = (UART_T *)((uint32_t)UART0 + u32Port);
tUART->FUNSEL.FUN_SEL    = FUN_RS485;     /* Enable RS485 function and configure */
tUART->ALTCON.RS485_ADD_EN     =  str_RS485-> u8cAddrEnable ?1:0;
tUART->ALTCON.ADDR_MATCH  =  str_RS485-> u8cAddrValue ;
tUART->ALTCON.RS485_NMM      = (str_RS485-> u8cModeSelect & MODE_RS485_NMM)?1:0;
tUART->ALTCON.RS485_AAD      = (str_RS485-> u8cModeSelect & MODE_RS485_AAD)?1:0;
tUART->ALTCON.RS485_AUD      = (str_RS485-> u8cModeSelect & MODE_RS485_AUD)?1:0;
tUART->TOR.DLY                  =  str_RS485-> u8cDelayTime;
tUART->FCR.RX_DIS               =  str_RS485-> u8cRxDisable;
tUART->MCR.LEV_RTS = 0;

}

使用特权

评论回复
23
Mancherstun|  楼主 | 2015-12-16 20:42 | 只看该作者
/*---------------------------------------------------------------------------------------------------------*/
/* Function:     DrvUART_GetVersion                                                                        */
/*                                                                                                         */
/* Parameter:                                */
/*              None                                                                                     */
/* Returns:                                                                                                */
/*               Version Number                                                                            */
/* Side effects:                                                                                           */
/*                                                                                                         */
/* Description:                                                                                            */
/*               The function is used to get  DrvUART Version Number                                       */
/*---------------------------------------------------------------------------------------------------------*/
int32_t DrvUART_GetVersion(void)
{
return DRVUART_VERSION_NUM;

}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则