OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4970|回复: 2

小白问几个基础的问题请大神救救我

[复制链接]

1

主题

3

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2017-1-24
在线时间
4 小时
发表于 2017-5-24 16:45:52 | 显示全部楼层 |阅读模式
1、xTaskCreate这个函数我看了各个参数,但是它的执行机理到底是怎样的呢?附上一段复制的代码(问题在下)
void vTaskFunction( void *pvParameters )
{
char *pcTaskName;
volatile unsigned long ul;

pcTaskName = ( char * ) pvParameters;

for( ;; )
{
printf("%s/n",pcTaskName );
}
}



static const char *pcTextForTask1 = "Task 1 is running\r\n" ;
static const char *pcTextForTask2 = "Task 2 is running\r\n";
int main( void )
{
uart_init(115200);
xTaskCreate( vTaskFunction, "Task 1", 1000, (void*)pcTextForTask1, 1, NULL );
xTaskCreate( vTaskFunction, "Task 2", 1000, (void*)pcTextForTask2, 1, NULL );
vTaskStartScheduler();

for( ;; );
}



我想请问为什么在主函数的2个xTaskCreate中间加上一个vTaskDelay( 250 / portTICK_RATE_MS ) 延时打印出来的就只有task2了?
2、delay函数是不是不能用?因为我一用就发现程序卡在这一步执行不下去了。打印也出不来数。
3、这里TASK句尾的\t\n为什么打印出来老是有个\n 如果只用\n无法换行。

真的对不起,可能问题比较低级,但是确实新人不太懂这方面网上资料也没有提及,实在没有办法,请大神救救,谢谢!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2017-1-24
在线时间
4 小时
 楼主| 发表于 2017-5-24 16:46:24 | 显示全部楼层
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2017-1-24
在线时间
4 小时
 楼主| 发表于 2017-5-24 16:53:54 | 显示全部楼层
看了一下没加DELAY初始化。我是智障,封贴对不起
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-26 07:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表