| | |
| | | uint8_t gprs_resend_data_flag_g = 0; |
| | | |
| | | /*Ô¶´«DMA½ÓÊպ˲é*/ |
| | | ErrorStatus_STM32 Gprs_Uart1_Rx_DMA_CH5_Check(void) |
| | | ErrorStatus_STM32 Gprs_Uart1_Rx_DMA_CH3_Check(void) |
| | | { |
| | | uint16_t timeout_cnt = 0, dma_recv_cnt; |
| | | uint32_t dma_mar_reg_read = DMA_CHxMAR_Read(DMA_CH9); |
| | | uint32_t dma_mar_reg_read = DMA_CHxMAR_Read(DMA_CH3); |
| | | |
| | | if (dma_mar_reg_read != (uint32)gprs_module_para_g.gprs_recv_buf) |
| | | { |
| | | delay_ms(2); |
| | | while (dma_mar_reg_read != DMA_CHxMAR_Read(DMA_CH9)) |
| | | while (dma_mar_reg_read != DMA_CHxMAR_Read(DMA_CH3)) |
| | | { |
| | | dma_mar_reg_read = DMA_CHxMAR_Read(DMA_CH9); |
| | | dma_mar_reg_read = DMA_CHxMAR_Read(DMA_CH3); |
| | | delay_ms(2); |
| | | if (timeout_cnt++ > 100) |
| | | break; |
| | |
| | | { |
| | | gprs_module_para_g.gprs_recv_length = dma_recv_cnt; |
| | | // ½ÓÊÕRAMµØÖ·ÖØÔØ |
| | | DMA_ISR_DMACHFT_Clr(DMA_CH5); |
| | | DMA_CHxCR_ChxEN_Setable(DMA_CH5, DISABLE); // ͨµÀʧÄÜ |
| | | DMA_ISR_DMACHFT_Clr(DMA_CH3); |
| | | DMA_CHxCR_ChxEN_Setable(DMA_CH3, DISABLE); // ͨµÀʧÄÜ |
| | | |
| | | DMA_CHxMAR_Write(DMA_CH5, (uint32)gprs_module_para_g.gprs_recv_buf); |
| | | DMA_CHxMAR_Write(DMA_CH3, (uint32)gprs_module_para_g.gprs_recv_buf); |
| | | |
| | | DMA_CHxCR_ChxEN_Setable(DMA_CH5, ENABLE); // ͨµÀʹÄÜ |
| | | DMA_CHxCR_ChxEN_Setable(DMA_CH3, ENABLE); // ͨµÀʹÄÜ |
| | | gprs_module_para_g.gprs_recv_flag = SET; // ½ÓÊÕÍê³É |
| | | return SUCCESS_0; |
| | | // DMA_GCR_DMAEN_Setable(DISABLE);//DMA×ÜʹÄÜ |