| | |
| | | #include <string.h> |
| | | #include <stdio.h> |
| | | #include "modbus.h" |
| | | |
| | | //æ°æ®åééååé |
| | | EUART_Frame m_EUART_TxFrames[EUART_TX_FRM_SIZE]; //æ°æ®åé帧éå |
| | | volatile int8_t m_EUART_TxFrm_Tail = 0; //æ°æ®åé帧éåå°¾æé |
| | |
| | | UART_DMAConfiguration(); |
| | | |
| | | } |
| | | |
| | | extern u8 cmd_mode; |
| | | u8 overrun_flag=0; |
| | | u16 t1,t2,t3,t4; |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | #ifndef EXUART_USE_TXDMA |
| | | //æ¥è¯¢æ¹å¼åéæ°æ® |
| | | void UART_CheckSend(void) |
| | |
| | | } // */ |
| | | |
| | | #else |
| | | |
| | | /* |
| | | //æ£æ¥æ¯å¦æ°æ®å¸§éè¦åé |
| | | void UART_CheckSend(void) |
| | | { |
| | |
| | | if(m_EUART_TxFrm_Head == m_EUART_TxFrm_Tail) |
| | | { |
| | | m_bEUARTCheckingSend = 0; |
| | | OUT485_DISABLE; |
| | | return; |
| | | } |
| | | |
| | | //å¼å¯ä¸æ¬¡æ°æ®åé |
| | | OUT485_ENABLE; |
| | | EUART_TX_DMA_CH->CMAR = (uint32_t)m_EUART_TxFrames[m_EUART_TxFrm_Tail].buf; //è¦åéçå
åå°å |
| | | EUART_TX_DMA_CH->CNDTR = m_EUART_TxFrames[m_EUART_TxFrm_Tail].len; //è¦åéçåèæ° |
| | | EUART_TX_DMA_CH->CCR |= 0x01; //å¼å¯ä¸æ¬¡DMA |
| | |
| | | m_EUART_TxFrm_Head = 0; |
| | | m_EUART_TxFrm_FreeFrmLen--; |
| | | m_bEUARTPushingFrms = 0; |
| | | UART_CheckSend(); |
| | | } |
| | | |
| | | //å°ææ°ä¸å¸§æ°æ®Popåºéå |