MDK中调试C程序用到printf函数,直接写出如下代码,但是出现警告提示如下图,大概意思是printf函数中参数的格式错误,会有潜在的风险!
原始代码:
void TIM2_IRQHandler(void)
{
if(TIM_GetITStatus(TIM2,TIM_IT_Update)==SET) //溢出中断
{
EC20TimersDisable();
eRcvState=1;
sprintf(pstr,"接收完成=%s\r\n",AtRxBuffer);
printf (pstr);
}
TIM_ClearITPendingBit(TIM2,TIM_IT_Update); //清除中断标志位
}
修改之后的代码:
void TIM2_IRQHandler(void)
{
if(TIM_GetITStatus(TIM2,TIM_IT_Update)==SET) //溢出中断
{
EC20TimersDisable();
eRcvState=1;
sprintf(pstr,"接收完成=%s\r\n",AtRxBuffer);
printf ("%s",pstr);
//printf("接收完成=%s\r\n",AtRxBuffer);//也正确
}
TIM_ClearITPendingBit(TIM2,TIM_IT_Update); //清除中断标志位
}