stm32 无初值指针变量导致程序跑飞

来源:互联网 发布:商家怎么开通淘宝客 编辑:程序博客网 时间:2024/05/16 09:14
//定时器3中断服务程序  
void TIM3_IRQHandler(void)
{         
if(TIM3->SR&0X0001)//溢出中断
{
char str[5];
//LED1=!LED1;
    //TIM3->CR1 &= 0xfe; //关闭定时器3
               rx_all += rx_count;
               tx_all += tx_count;
sprintf(str,"%4d",rx_all);
show_str(25,0,str);
sprintf(str,"%4d",tx_all);
show_str(15,0,str);
sprintf(str,"%4d",(rx_count>>2));
show_str(33,0,str);

}   
TIM3->SR&=~(1<<0);//清除中断标志位    

}

调试时发现程序跑飞,查找原因,发现之前定义指针   u8 *str;   没有给指针分配内存,也没有初值,之后改为char str[5]  ,程序正常