STM32F051 + RT Thread 偶尔程序上电不启动呢
情况是这样:原来F103的程序移植到了F051上,调试时也能正常运行,而且加载着JLINK时很少出错,但拔掉JLINK后上电启动一二十次就能有一次上电后程序不运行的情况。我特地将初始化过程通过串口打出来,发现是初始化完毕后启动三个线程后没反应了,我的程序结构如下:
初始化;
int rt_application_init(void)
{
载入参数;
初始化三个静态线程;
rt_thread_startup(&thread1);
printf("\r\n 启动thread3线程...\r\n");
rt_thread_startup(&thread2);
printf("\r\n 启动thread3线程...\r\n");
rt_thread_startup(&thread3);
printf("\r\n 启动thread3线程...\r\n"); //不正常时已经运行此命令
return 0;
}
void thread1_entry(void* parameter)
{
printf("\r\n thread1_entry线程 OK\r\n");
while (1)
{
函数处理;
delay(20);
}
}
void thread2_entry(void* parameter)
{
printf("\r\n thread2_entry线程 OK\r\n");
while (1)
{
函数处理;
delay(20);
}
}
void thread3_entry(void* parameter)
{
printf("\r\n thread3_entry线程 OK\r\n");
while (1)
{
函数处理;
delay(20);
}
}
串接接收数据来看当启动不正常时,已经打印了 printf("\r\n 启动thread3线程...\r\n");而下面三个线程则没有任何输出,应该三个线程没启动,这会是哪方面的问题呢?用JLINK在线仿真时又不出错了,都没法监控呢,郁闷。 将rtt中用到的串口的rx口加电阻上拉到Vcc试试 ttfaye 发表于 2013-12-6 17:42
将rtt中用到的串口的rx口加电阻上拉到Vcc试试
这个地方还真没注意过,我现在是开了看门狗运行时看不出来了,有空试试你说的这个方法,谢谢了啊!
页:
[1]