本帖最后由 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();
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
最开始先将 delay_init()函数初始化,之前写的程序也没问题,这次在测试sim900a时,加入delay_init()就会死循环,卡在 temp=SysTick->CTRL; 这一步,求大神给看看,没招了
delay_init(10)是我专门为测试加了一句代码,之前debug后就是卡在延时函数这里,加入后卡死了
一周热门 更多>