Data(USART1,Send_Data);Р?Send_Num++;Р?if(Send_Num>(*PointToSendBuf))//发送已经完成Р?{Р Comu_Busy=0;Р *PointToSendBuf=0;Р Rcv_Num=0;Р Send_Num=1;Р //启动数据发送Р?USART_ITConfig(USART1, USART_IT_TC, DISABLE);//关闭数据发送中断?Р?}Р }Р /* 函数功能:Modbus专用定时器(TIM2)Р?函数输入:无。Р?函数输出:无。*/Р?void TIM2_IRQHandler(void) Р {Р?if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) //检查指定的TIM中断发生与否:TIM 中断源Р?{Р TIM_ClearITPendingBit(TIM2, TIM_IT_Update ); //清除TIMx的中断待处理位:TIM 中断源Р Tim_Out=1;Р TIM_Cmd(TIM2,DISABLE);Р TIM_SetCounter(TIM2,0);Р plete=1;Р Rcv_Buffer[0]=Rcv_Num;Р if(HaveMes!=0&&Rcv_Num>4)Р {Р Comu_Busy=1;Р MessageHandle(PointToRcvBuf,PointToSendBuf);Р }Р Р?}?Р }Р /* 函数功能:CRC校验用函数Р?函数输入:puchMsgg是要进行CRC校验的消息,usDataLen是消息中字节数Р?函数输出:计算出来的CRC校验码。*/Р u16 CRC16(u8 *puchMsgg,u8 usDataLen)//puchMsgg是要进行CRC校验的消息,usDataLen是消息中字节数Р{