void RS485_Receive_Data(u8 *buf,u8 *len)
{
u8 rxlen=RS485_RX_CNT;
u8 i=0;
*len=0;
delay_ms(10);
if(rxlen==RS485_RX_CNT&&rxlen)
{
for(i=0;i<rxlen;i++)
{
buf[i]=RS485_RX_BUF[i];
}
*len=RS485_RX_CNT;
RS485_RX_CNT=0;
}
}
RS485_RX_CNT 数据长度在中断服务函数里面得到。在此接收数据函数中,rxlen= RS485_RX_CNT ,之后,if(rxlen==RS485_RX_CNT&&rxlen)这个判断,注释里面说接收到了数据,且接收完成了,表示不是很理解。 假设rxlen= RS485_RX_CNT 都等于5,之后if(5== 5&&5),怎么能表示接收到了数据,且接收完成了?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>