| | |
| | | volatile uint8_t m_bEUARTTxEn = 0; //使è½åé |
| | | |
| | | void (*Usart1ParseDataCallback)(uint8_t); |
| | | |
| | | void Usart1InitVariables(void) |
| | | { |
| | | m_EUART_TxFrm_FreeFrmLen = EUART_TX_FRM_SIZE-1; |
| | |
| | | |
| | | //åå§å管è |
| | | GPIO_InitStructure.GPIO_Pin = EU_RX_PIN; |
| | | GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //Rx䏿è¾å
¥ |
| | | GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //Rx䏿è¾å
¥ |
| | | GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; |
| | | GPIO_Init(EU_RX_GPIO, &GPIO_InitStructure); |
| | | |
| | | GPIO_InitStructure.GPIO_Pin = EU_TX_PIN; |
| | | GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//GPIO_Mode_AF_PP; //Txæ¨æ½å¤ç¨è¾åº |
| | | GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //Txæ¨æ½å¤ç¨è¾åº GPIO_Mode_AF_PP |
| | | GPIO_Init(EU_TX_GPIO, &GPIO_InitStructure); |
| | | |
| | | GPIO_InitStructure.GPIO_Pin = EU_485_PIN; |
| | | GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //Txæ¨æ½å¤ç¨è¾åº GPIO_Mode_AF_PP |
| | | GPIO_Init(EU_485_GPIO, &GPIO_InitStructure); |
| | | OUT485_DISABLE; |
| | | #ifdef UART_GPIO_REMAP_ENABLE |
| | | GPIO_PinRemapConfig(UART_GPIO_REMAP, ENABLE); |
| | | #endif |
| | |
| | | while( m_EUART_DMA_RXPtr != DMACnt && MaxDataLen > 0) |
| | | { |
| | | Usart1ParseDataCallback(m_EUART_DMA_RXBuf[m_EUART_DMA_RXPtr]); |
| | | delay_us(10); |
| | | m_EUART_DMA_RXPtr++; |
| | | if( m_EUART_DMA_RXPtr >= EUART_RX_BUF_SIZE ) |
| | | { |
| | |
| | | { |
| | | if(m_bEUARTTxEn) |
| | | { |
| | | OUT485_DISABLE; |
| | | m_bEUARTTxEn = 0; |
| | | // temp32 = GPIOC->CRH; //C10æ¬ç©ºè¾å
¥ |
| | | // temp32 &= ~(0x00000000F<<8); |
| | |
| | | m_bEUARTCheckingSend = 0; |
| | | return; |
| | | } |
| | | |
| | | if(!m_bEUARTTxEn) |
| | | { |
| | | m_bEUARTTxEn = 1; |
| | | OUT485_ENABLE; |
| | | delay_us(10); |
| | | // temp32 = GPIOC->CRH; //C10å¤ç¨æ¨æ½è¾åº |
| | | // temp32 &= ~(0x00000000F<<8); |
| | | // temp32 |= (0x000000009<<8); |
| | | // GPIOC->CRH = temp32;// */ |
| | | } |
| | | |
| | | //åéä¸ä¸ªåèæ°æ® |
| | | EXT_UART->DR = m_EUART_TxFrames[m_EUART_TxFrm_Tail].buf[s_count]; |
| | | s_count++; |