| | |
| | | uint8_t up_comm_recv_buff[UP_COMM_RECV_BUFF_LEN_MAX] = {0}; |
| | | uint8_t WRC_recv_buff[WRC_RECV_BUFF_LEN_MAX] = {0}; |
| | | |
| | | UART_CTRL_PARA_T uart_ctrl_para_g = { |
| | | .WRC_rxto_flag = RESET, |
| | | .RS485_rxto_flag = RESET, |
| | | .UP_COMM_rxto_flag = RESET, |
| | | }; |
| | | |
| | | u16 USART_RX_STA = 0; //½ÓÊÕ״̬±ê¼Ç |
| | | //void Usmart_RecvDataProcess(UC_RECV_PARA_T *usmart_recv_para_p) |
| | | //{ |
| | |
| | | } |
| | | } |
| | | |
| | | void UART1_IRQHandler(void) |
| | | { |
| | | //Ö»ÓÐuart0ºÍuart1ÓнÓÊÕ³¬Ê±ÖÐ¶Ï |
| | | if(UARTx_ISR_RXTO_Chk(UART1) == SET){ |
| | | UARTx_ISR_RXTO_Clr(UART1); |
| | | uart_ctrl_para_g.RS485_rxto_flag = SET; |
| | | uart_ctrl_para_g.WRC_rxto_flag = SET; |
| | | } |
| | | } |
| | | |
| | | //void UART5_IRQHandler(void) |
| | | //{ |
| | | // //Ö»ÓÐuart0ºÍuart1ÓнÓÊÕ³¬Ê±ÖÐ¶Ï |
| | | // if(UARTx_ISR_RXTO_Chk(UART5) == SET){ |
| | | // UARTx_ISR_RXTO_Clr(UART5); |
| | | // uart_ctrl_para_g.UP_COMM_rxto_flag = SET; |
| | | // } |
| | | //} |
| | | |
| | | |
| | | void RS485_read_data_uart_Init(uint32_t BaudRate,UART_ParityBitTypeDef ParityBit,UART_StopBitTypeDef StopBit) |
| | | { |
| | |
| | | AltFunIO(RS485_READ_DATA_RX_PORT, RS485_READ_DATA_RX_PIN, ALTFUN_NORMAL); |
| | | |
| | | //UART¹¤×÷ʱÖÓÔ´Ñ¡Ôñ Ö»ÓÐUART0¡¢1ÐèҪѡÔñ ÆäËûUART¶Ë¿ÚÔݲ»ÐèÒª Ö±½Ó×¢Êͼ´¿É |
| | | if((RS485_READ_DATA_UARTX==UART0)||(RS485_READ_DATA_UARTX==UART1)) |
| | | if(RS485_READ_DATA_UARTX==UART0) |
| | | UART_para.ClockSrc = CMU_OPCCR1_UART0CKS_APBCLK; //UART0¹¤×÷ʱÖÓÑ¡Ôñ |
| | | else if(RS485_READ_DATA_UARTX==UART1) |
| | | UART_para.ClockSrc = CMU_OPCCR1_UART1CKS_APBCLK; //UART1¹¤×÷ʱÖÓÑ¡Ôñ |
| | | |
| | | |
| | | UART_para.BaudRate = BaudRate; |
| | | UART_para.ParityBit = ParityBit; //ÆæÅ¼Ð£Ñé |
| | |
| | | // UARTx_IER_RXBF_IE_Setable(RS485_READ_DATA_UARTX, ENABLE);//½ÓÊÕ»º´æÂúÖжÏʹÄÜ ÐèҪʹÓýÓÊÕÖжϴò¿ª´Ë´¦ÉèÖà |
| | | // UARTx_IER_TXSE_IE_Setable(RS485_READ_DATA_UARTX, ENABLE)£»//·¢ËÍ»º´æ¿ÕÇÒ·¢ËÍÒÆÎ»¼Ä´æÆ÷¿ÕÖжÏʹÄÜ ÐèҪʹÓ÷¢ËÍÖжϴò¿ª´Ë´¦ÉèÖà |
| | | |
| | | /*NVICÖжÏÓÅÏȼ¶ÒÔ¼°ÊÇ·ñ´ò¿ªÖжÏÅäÖÃ*/ |
| | | NVIC_DisableIRQ(RS485_READ_DATA_UARTX_IRQn); |
| | | // NVIC_SetPriority(RS485_READ_DATA_UARTX_IRQn,2);//ÖжÏÓÅÏȼ¶ÅäÖà |
| | | // NVIC_EnableIRQ(RS485_READ_DATA_UARTX_IRQn); //ÖжϷþÎñº¯Êý¿ª |
| | | UARTx_TODR_RXTO_LEN_Set(RS485_READ_DATA_UARTX, 255);//Ö»ÓÐuart0ºÍuart1ÓнÓÊÕ³¬Ê±ÖÐ¶Ï |
| | | UARTx_ISR_RXTO_Clr(RS485_READ_DATA_UARTX); |
| | | UARTx_IER_RXTO_IE_Setable(RS485_READ_DATA_UARTX, ENABLE); |
| | | // NVIC_EnableIRQ(RS485_READ_DATA_UARTX_IRQn); |
| | | UARTx_CSR_RXTOEN_Setable(RS485_READ_DATA_UARTX, ENABLE); |
| | | /*NVICÖжÏÓÅÏȼ¶ÒÔ¼°ÊÇ·ñ´ò¿ªÖжÏÅäÖÃ*/ |
| | | // NVIC_DisableIRQ(RS485_READ_DATA_UARTX_IRQn); |
| | | NVIC_SetPriority(RS485_READ_DATA_UARTX_IRQn,2);//ÖжÏÓÅÏȼ¶ÅäÖà |
| | | NVIC_EnableIRQ(RS485_READ_DATA_UARTX_IRQn); //ÖжϷþÎñº¯Êý¿ª |
| | | |
| | | UARTx_CSR_RXEN_Setable(RS485_READ_DATA_UARTX, ENABLE); //´ò¿ª½ÓÊÕʹÄÜ |
| | | UARTx_CSR_TXEN_Setable(RS485_READ_DATA_UARTX, ENABLE); //´ò¿ª·¢ËÍʹÄÜ |
| | |
| | | UP_COMM_RE_RECV_EN; |
| | | |
| | | //UART¹¤×÷ʱÖÓÔ´Ñ¡Ôñ Ö»ÓÐUART0¡¢1ÐèҪѡÔñ ÆäËûUART¶Ë¿ÚÔݲ»ÐèÒª Ö±½Ó×¢Êͼ´¿É |
| | | if((UP_COMM_UARTX==UART0)||(UP_COMM_UARTX==UART1)) |
| | | if(UP_COMM_UARTX==UART0) |
| | | UART_para.ClockSrc = CMU_OPCCR1_UART0CKS_APBCLK; //UART0¹¤×÷ʱÖÓÑ¡Ôñ |
| | | else if(UP_COMM_UARTX==UART1) |
| | | UART_para.ClockSrc = CMU_OPCCR1_UART1CKS_APBCLK; //UART1¹¤×÷ʱÖÓÑ¡Ôñ |
| | | |
| | | UART_para.BaudRate = BaudRate; |
| | | UART_para.ParityBit = ParityBit; //ÆæÅ¼Ð£Ñé |
| | |
| | | |
| | | // UARTx_IER_RXBF_IE_Setable(UP_COMM_UARTX, ENABLE);//½ÓÊÕ»º´æÂúÖжÏʹÄÜ ÐèҪʹÓýÓÊÕÖжϴò¿ª´Ë´¦ÉèÖà |
| | | // UARTx_IER_TXSE_IE_Setable(UP_COMM_UARTX, ENABLE)£»//·¢ËÍ»º´æ¿ÕÇÒ·¢ËÍÒÆÎ»¼Ä´æÆ÷¿ÕÖжÏʹÄÜ ÐèҪʹÓ÷¢ËÍÖжϴò¿ª´Ë´¦ÉèÖà |
| | | // NVIC_DisableIRQ(UP_COMM_UARTX_IRQn); |
| | | // UARTx_TODR_RXTO_LEN_Set(UP_COMM_UARTX, 255);//Ö»ÓÐuart0ºÍuart1ÓнÓÊÕ³¬Ê±ÖÐ¶Ï |
| | | // UARTx_ISR_RXTO_Clr(UP_COMM_UARTX); |
| | | // UARTx_IER_RXTO_IE_Setable(UP_COMM_UARTX, ENABLE); |
| | | //// NVIC_EnableIRQ(UP_COMM_UARTX_IRQn); |
| | | // UARTx_CSR_RXTOEN_Setable(UP_COMM_UARTX, ENABLE); |
| | | |
| | | |
| | | /*NVICÖжÏÓÅÏȼ¶ÒÔ¼°ÊÇ·ñ´ò¿ªÖжÏÅäÖÃ*/ |
| | | NVIC_DisableIRQ(UP_COMM_UARTX_IRQn); |
| | | // NVIC_SetPriority(UP_COMM_UARTX_IRQn,2);//ÖжÏÓÅÏȼ¶ÅäÖà |
| | | // NVIC_SetPriority(UP_COMM_UARTX_IRQn,4);//ÖжÏÓÅÏȼ¶ÅäÖà |
| | | // NVIC_EnableIRQ(UP_COMM_UARTX_IRQn); //ÖжϷþÎñº¯Êý¿ª |
| | | |
| | | UARTx_CSR_RXEN_Setable(UP_COMM_UARTX, ENABLE); //´ò¿ª½ÓÊÕʹÄÜ |
| | |
| | | AltFunIO(WRC_RX_PORT, WRC_RX_PIN, ALTFUN_NORMAL); |
| | | |
| | | //UART¹¤×÷ʱÖÓÔ´Ñ¡Ôñ Ö»ÓÐUART0¡¢1ÐèҪѡÔñ ÆäËûUART¶Ë¿ÚÔݲ»ÐèÒª Ö±½Ó×¢Êͼ´¿É |
| | | if((WRC_UARTX==UART0)||(WRC_UARTX==UART1)) |
| | | if(WRC_UARTX==UART0) |
| | | UART_para.ClockSrc = CMU_OPCCR1_UART0CKS_APBCLK; //UART0¹¤×÷ʱÖÓÑ¡Ôñ |
| | | else if(WRC_UARTX==UART1) |
| | | UART_para.ClockSrc = CMU_OPCCR1_UART1CKS_APBCLK; //UART1¹¤×÷ʱÖÓÑ¡Ôñ |
| | | |
| | | UART_para.BaudRate = BaudRate; |
| | | UART_para.ParityBit = ParityBit; //ÆæÅ¼Ð£Ñé |
| | |
| | | // UARTx_IER_RXBF_IE_Setable(WRC_UARTX, ENABLE);//½ÓÊÕ»º´æÂúÖжÏʹÄÜ ÐèҪʹÓýÓÊÕÖжϴò¿ª´Ë´¦ÉèÖà |
| | | // UARTx_IER_TXSE_IE_Setable(WRC_UARTX, ENABLE)£»//·¢ËÍ»º´æ¿ÕÇÒ·¢ËÍÒÆÎ»¼Ä´æÆ÷¿ÕÖжÏʹÄÜ ÐèҪʹÓ÷¢ËÍÖжϴò¿ª´Ë´¦ÉèÖà |
| | | |
| | | /*NVICÖжÏÓÅÏȼ¶ÒÔ¼°ÊÇ·ñ´ò¿ªÖжÏÅäÖÃ*/ |
| | | NVIC_DisableIRQ(WRC_UARTX_IRQn); |
| | | // NVIC_SetPriority(WRC_UARTX_IRQn,2);//ÖжÏÓÅÏȼ¶ÅäÖà |
| | | // NVIC_EnableIRQ(WRC_UARTX_IRQn); //ÖжϷþÎñº¯Êý¿ª |
| | | UARTx_TODR_RXTO_LEN_Set(WRC_UARTX, 255);//Ö»ÓÐuart0ºÍuart1ÓнÓÊÕ³¬Ê±ÖÐ¶Ï |
| | | UARTx_ISR_RXTO_Clr(WRC_UARTX); |
| | | UARTx_IER_RXTO_IE_Setable(WRC_UARTX, ENABLE); |
| | | // NVIC_EnableIRQ(WRC_UARTX_IRQn); |
| | | UARTx_CSR_RXTOEN_Setable(WRC_UARTX, ENABLE); |
| | | |
| | | /*NVICÖжÏÓÅÏȼ¶ÒÔ¼°ÊÇ·ñ´ò¿ªÖжÏÅäÖÃ*/ |
| | | // NVIC_DisableIRQ(WRC_UARTX_IRQn); |
| | | NVIC_SetPriority(WRC_UARTX_IRQn,2);//ÖжÏÓÅÏȼ¶ÅäÖà |
| | | NVIC_EnableIRQ(WRC_UARTX_IRQn); //ÖжϷþÎñº¯Êý¿ª |
| | | |
| | | UARTx_CSR_RXEN_Setable(WRC_UARTX, ENABLE); //´ò¿ª½ÓÊÕʹÄÜ |
| | | UARTx_CSR_TXEN_Setable(WRC_UARTX, ENABLE); //´ò¿ª·¢ËÍʹÄÜ |