| | |
| | | void RS485_read_data_RX_DMA_check(void) |
| | | { |
| | | uint16_t timeout_cnt = 0,dma_recv_cnt; |
| | | uint32_t dma_mar_reg_read = DMA_CHxMAR_Read(DMA_CH3); |
| | | uint32_t dma_mar_reg_read = DMA_CHxMAR_Read(RS485_READ_DATA_DMA_CHX); |
| | | |
| | | if(dma_mar_reg_read != (uint32)RS485_read_data_recv_buff){ |
| | | delay_ms(2); |
| | | while(dma_mar_reg_read != DMA_CHxMAR_Read(DMA_CH3)){ |
| | | dma_mar_reg_read = DMA_CHxMAR_Read(DMA_CH3); |
| | | while(dma_mar_reg_read != DMA_CHxMAR_Read(RS485_READ_DATA_DMA_CHX)){ |
| | | dma_mar_reg_read = DMA_CHxMAR_Read(RS485_READ_DATA_DMA_CHX); |
| | | delay_ms(2); |
| | | if(timeout_cnt++ > 100) |
| | | break; |
| | |
| | | if(rs485_com_ctrl_pata_g.pwr_delay_time_out_cnt == 0) //ÑÓʱµ½0¾Í¿ÉÒÔ·¢ËͶÁȡָÁî |
| | | { |
| | | //´®¿ÚÅäÖÃ |
| | | RS485_UART_GPIO_Init(); |
| | | // RS485_UART_GPIO_Init(); //uart_InitÒѾ°üº¬ÁËIOÅäÖà |
| | | switch(flow_meter_para_g.baudrate_code ){ |
| | | case BAUDRATE_1200:BaudRate = 1200; break; |
| | | case BAUDRATE_2400:BaudRate = 2400; break; |
| | |
| | | rs485_com_uart_data_g.recv_flag =RESET; |
| | | |
| | | read_ok = rs485ComDataAnalysis(rs485_com_uart_data_g,SIZHUMODBUSV2_0,1,rs485_com_ctrl_pata_g ) ;//?É豸´úÂë¡¢´Ó»úµØÖ·Èë²ÎÒª¸Ä |
| | | memset(rs485_com_uart_data_g.recv_buf, 0, sizeof(rs485_com_uart_data_g.recv_buf)); //Ó¦´ðÍêºóÇå¿Õ½ÓÊÕ |
| | | |
| | | } |
| | | |
| | | if(read_ok==PASS){ |