卡在 delay_ms()函数

2019-08-14 00:22发布

本帖最后由 neuangel 于 2017-7-20 09:24 编辑

int main(void)
{        
        signed char t;
        float v,temp_v,pro=0;
        float temperature,sd_size;
        u8 sd_gets[200];
        u8 temp,i,j;
        u8 direaction=1;
        u16 cnt;
        u8 mask=0;
        u16 ledpwm=0;
        u32 total,free;
        u8 USART2_TX_BUF[USART_TX_LENGHT]={0};
        u16 filesize;
        u16 adcx;
        
        delay_init();
        NVIC_Configuration();
        
        Usart_Init(115200);
        Usart2_Init(9600);
        Usart3_Init(115200);
        
        TIM6_Int_Init(99,7199);        //10ms        
        timer3_Init(4999,7199);//500 ms
        TIM5_PWM_Init(899,0);//72M/9000=8khz  
        TIM4_PWM_Init(7199,0);//72M/7200=10khz        

        sim900a_gpio_init();
        mem_init(SRAMIN);                //初始化内部内存池        
        exfuns_init();                //外部函数

        SD_CS=0;

        delay_ms(10);
/////////////////////////////////////////////////////////////////////////////////////////////////////
/*
void delay_ms(u16 nms)
{                                    
        u32 temp;                  
        SysTick->LOAD=(u32)nms*fac_ms;//时间加载(SysTick->LOAD为24bit)
        SysTick->VAL =0x00;           //清空计数器
        SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ;          //开始倒数  
        do
        {
                temp=SysTick->CTRL;            //************************************  运行到delay_ms()函数后就卡在这一步,过不去了
        }
        while(temp&0x01&&!(temp&(1<<16)));//等待时间到达   
        SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;       //关闭计数器
        SysTick->VAL =0X00;       //清空计数器                     
}
#endif

*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        sim900_tcp_init();

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。