查看: 2427|回复: 2

[求助] 关于MKE06Z FreeRtos的一些小问题?

[复制链接]
  • TA的每日心情
    郁闷
    2021-1-26 11:20
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    10

    主题

    32

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    249
    最后登录
    2024-7-22
    发表于 2017-9-30 11:11:27 | 显示全部楼层 |阅读模式
    本帖最后由 super大钢 于 2017-9-30 21:32 编辑
    1. #define configMINIMAL_STACK_SIZE<span class="Apple-tab-span" style="white-space:pre">                </span>( ( unsigned short ) 100 )
    复制代码
    1. /*LED1 Task*/
    2. void vLED1Task( void *pvParameters )  
    3. {  
    4. while(1)
    5.         {
    6.                 LED0_Off();
    7.                 vTaskDelay( 200/portTICK_RATE_MS );
    8.                 LED0_On();
    9.                 vTaskDelay( 200/portTICK_RATE_MS );
    10.                
    11. //                LED0_Off();
    12. //                delayx(500);
    13. //                LED0_On();
    14. //                delayx(500);

    15.         }         
    16. }

    17. /*LED2 Task*/
    18. void vLED2Task( void *pvParameters )  
    19. {  
    20.         for(;;)
    21.         {

    22.                 LED1_Off();
    23.                 vTaskDelay( 1000/portTICK_RATE_MS );
    24.                 LED1_On();
    25.                 vTaskDelay( 1000/portTICK_RATE_MS );
    26.         
    27.         }
    28.         
    29. }


    30. int main (void)
    31. {
    32.     sysinit();
    33.     LED0_Init();        //red led
    34.     LED1_Init();        //green led
    35.     LED2_Init();        //blue led
    36.    
    37.     LED0_Off();
    38.     LED1_Off();
    39.     LED2_Off();
    40.                 /*Creat Task1*/
    41.         xTaskCreate(         vLED1Task,  
    42.                                               "LED1",
    43.                                               configMINIMAL_STACK_SIZE,
    44.                                               NULL,
    45.                                               4,
    46.                                               NULL );  
    47.         
    48.         
    49.         /*Creat Task2*/
    50.         xTaskCreate(         vLED2Task,
    51.                                               "LED2",
    52.                                               configMINIMAL_STACK_SIZE,
    53.                                               NULL,
    54.                                               3,  
    55.                                               NULL );  
    56.                                                                
    57.                                                                
    58.         
    59.         

    60.         /*Start Task*/
    61.   vTaskStartScheduler();  
    62.     for (;;);
    63. }
    复制代码

    这里的现象是LED0保持长亮,除此之外LED1没有任何反应。如果我把LED0_OFF和LED0_ON在程序中反过来,现象是LED0长灭
    貌似是这个任务只执行一次就再也没进去了,但是!请看下面!如果我把LED0里面的程序换成这样:
    LED0_Off();
    delayx(500);
    LED0_On();
    delayx(500);
    (delayx是最普通的延时函数)
    LED0又能闪烁了
    那么问题是否出在时间片上,任务无法切换?

    不知哪位高手玩过freertos,感谢您能帮我解答!





    我知道答案 目前已有2人回答
    抗疫加油
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2021-1-9 21:21
  • 签到天数: 56 天

    连续签到: 1 天

    [LV.5]常住居民I

    52

    主题

    677

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    1470
    最后登录
    2021-1-9
    发表于 2017-9-30 12:55:14 | 显示全部楼层
    时间片问题的可能性很小,还是检查一下自己程序哪里写错了吧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2021-1-26 11:20
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    10

    主题

    32

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    249
    最后登录
    2024-7-22
     楼主| 发表于 2017-9-30 21:33:30 | 显示全部楼层
    才发现是自己代码没贴上去,一共就是两个LED任务的简单代码。还请各位瞄一眼,谢谢了
    抗疫加油
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 09:11 , Processed in 0.088231 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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