主机:
初始化:
void RS485_Init(void)
{
STR_UART_T sParam;
DrvGPIO_InitFunction(E_FUNC_UART1); //串口引脚初始化
sParam.u32BaudRate = 9600; //波特率
sParam.u8cDataBits = DRVUART_DATABITS_8; //8位数据位
sParam.u8cStopBits = DRVUART_STOPBITS_1; //1位停止位
sParam.u8cParity =DRVUART_PARITY_NONE ; //1位奇偶校验位
sParam.u8cRxTriggerLevel= DRVUART_FIFO_1BYTES; //先进先出1字节缓冲区
sParam.u8TimeOut = 0x7F; //设置延时
DrvUART_Open(UART_PORT1,&sParam); //打开串口1
r_pointer = 0;
//sParam_RS485.u8cAddrEnable = DISABLE; //地址使能
sParam_RS485.u8cAddrEnable = ENABLE; //地址使能
sParam_RS485.u8cAddrValue = 0xC0; //地址
sParam_RS485.u8cModeSelect = MODE_RS485_AAD; //RS485模式选择
sParam_RS485.u8cDelayTime = 0; //延时
sParam_RS485.u8cRxDisable = FALSE; //使能接收
DrvUART_SetFnRS485(UART_PORT1,&sParam_RS485); //打开485
DrvUART_ClearIntFlag(UART_PORT1, DRVUART_RDAINT); //清中断标志
DrvUART_EnableInt(UART_PORT1,DRVUART_RDAINT,
(PFN_DRVUART_CALLBACK*)RS485_INT_HANDLE); //使能485中断
DrvUART_SetRTS(UART_PORT1,0,1); //设置RTS
}
|