unsigned char Rxdsuc_test() { unsigned char noRxd_time = 10;//设置等待10*5ms后,没有接收到下一个字符时,认为数据已接受完毕。 if(newRxd_flag) //sci串口接收到字符时,newRxd_flag置1;noRxd_flag置0; { while(noRxd_time) { if(noRxd_flag) { delay5ms(1); if(noRxd_flag) noRxd_time--; } else { noRxd_time = 10; //在10*5ms的等待中,一旦接收到下一字符,等待时间重新设为10*5ms。 noRxd_flag =1; } } RxdPoint = 0; newRxd_flag = 0; rxdsuc_flag = 1; return 1; //标志着新数据接收完毕 } return 0;//表示暂无新数据 } |
该函数被用于程序的任一地方,当要接收数据时调用。
转载于:https://www.cnblogs.com/zhlforhe/p/4650221.html