485通信串口发送数据

2019-10-15 07:59发布

程序如下:                 void RS485_Send_Data(u8 *buf,u8 len){
        u8 t;
        RS485_TX_EN=1;                        //设置为发送模式
        delay_us(1000);
  for(t=0;t<len;t++)                //循环发送数据
  {                       
//                while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);         
          delay_us(100);
                USART_SendData(USART1,buf[t]);
//                while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
               
                while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
//                while(!(USART1->SR & USART_FLAG_TC));
        }         

//        while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);               
        RS485_RX_CNT=0;
        RS485_TX_EN=0;                                //设置为接收模式       
        delay_us(1000);  
}

问题是:多出一个字符


               

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。