OpenEdv-开源电子网

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

原子的第一个UCOSii程序,改变了点,然后一直在OS_Ideal()里面出不来

[复制链接]

1

主题

5

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2020-5-17
在线时间
2 小时
发表于 2020-6-5 00:46:14 | 显示全部楼层 |阅读模式
1金钱
delay 我用的是CORE.C里面的OSTimeDly()函数。。断点里面程序是132行,133行,143行到144行从OSTimeDly()出来就在dieal里面出不来了。你们知道是什么问题吗

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2020-5-17
在线时间
2 小时
 楼主| 发表于 2020-6-5 00:50:37 | 显示全部楼层
void task1_led_display(void *pdata)  {                 while(1)         {                 GPIOE->ODR|=1<<5;                 OSTimeDly(1000);                 GPIOE->ODR=0;                 OSTimeDly(1000);         }  }     void task2_led_display(void *pdata)  {         while(1)         {                 GPIOB->ODR|=1<<5;      //PB.5 ê&#228;3&#246;&#184;&#223;;                 OSTimeDly(100);                 GPIOB->ODR|=0;                 OSTimeDly(1000);         }  }    void fuc_task(void *pdata)  {         OS_CPU_SR cpu_sr=0;          pdata=pdata;         OS_ENTER_CRITICAL();          OSTaskCreate(task1_led_display,(void*)0,&START_OS_TASK1_STACK[START_OS_TASK1_STACK_SIZE-1],START_OS_TASK1_PRIORITY);          OSTaskCreate(task2_led_display,(void*)0,&START_OS_TASK2_STACK[START_OS_TASK2_STACK_SIZE-1],START_OS_TASK2_PRIORITY);          OSTaskSuspend(START_OS_TASK_PRIORITY);        //1ò&#198;e&#198;eê&#188;è&#206;&#206;&#241;.         OS_EXIT_CRITICAL();                                //í&#203;3&#246;áù&#189;&#231;&#199;&#248;(&#191;éò&#212;±&#187;&#214;D&#182;&#207;′ò&#182;&#207;)   }    int main(void)  {                 //NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);        //è&#206;o&#206;&#214;D&#182;&#207;&#182;&#188;òaéè&#214;&#195;&#214;D&#182;&#207;·&#214;×é         //SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);    led_init();          OSInit();         OSTaskCreate(fuc_task,(void*)0,&START_OS_TASK_STACK[START_OS_TASK_STACK_SIZE-1],START_OS_TASK_PRIORITY);          OSStart();  }   
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2020-5-17
在线时间
2 小时
 楼主| 发表于 2020-6-5 00:56:55 | 显示全部楼层
void task1_led_display(void *pdata)
{       
        while(1)
        {
                GPIOE->ODR|=1<<5;
                OSTimeDly(1000);
                GPIOE->ODR=0;
                OSTimeDly(1000);
        }
}

void task2_led_display(void *pdata)
{
        while(1)
        {
                GPIOB->ODR|=1<<5;      //PB.5 ê&#228;3&#246;&#184;&#223;;
                OSTimeDly(100);
                GPIOB->ODR|=0;
                OSTimeDly(1000);
        }
}

void fuc_task(void *pdata)
{
        OS_CPU_SR cpu_sr=0;
        pdata=pdata;
        OS_ENTER_CRITICAL();
        OSTaskCreate(task1_led_display,(void*)0,&START_OS_TASK1_STACK[START_OS_TASK1_STACK_SIZE-1],START_OS_TASK1_PRIORITY);
        OSTaskCreate(task2_led_display,(void*)0,&START_OS_TASK2_STACK[START_OS_TASK2_STACK_SIZE-1],START_OS_TASK2_PRIORITY);
        OSTaskSuspend(START_OS_TASK_PRIORITY);        //1ò&#198;e&#198;eê&#188;è&#206;&#206;&#241;.
        OS_EXIT_CRITICAL();                                //í&#203;3&#246;áù&#189;&#231;&#199;&#248;(&#191;éò&#212;±&#187;&#214;D&#182;&#207;′ò&#182;&#207;)
}

int main(void)
{       
        //NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);        //è&#206;o&#206;&#214;D&#182;&#207;&#182;&#188;òaéè&#214;&#195;&#214;D&#182;&#207;·&#214;×é
        //SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
  led_init();
        OSInit();
        OSTaskCreate(fuc_task,(void*)0,&START_OS_TASK_STACK[START_OS_TASK_STACK_SIZE-1],START_OS_TASK_PRIORITY);
        OSStart();
}
回复

使用道具 举报

0

主题

7

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1223
金钱
1223
注册时间
2019-5-30
在线时间
95 小时
发表于 2020-6-5 14:33:49 | 显示全部楼层
啊,您没有做硬件初始化吧,您用的是STM32的 芯片吧, bsp_init()呢,如果不会,可用cubeMx 工具来帮您初始化。让基本的裸机代码能跑,然后设法移植 ucos 代码
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2020-5-17
在线时间
2 小时
 楼主| 发表于 2020-6-9 23:27:55 | 显示全部楼层
你好我按照原子的步骤移植的。对就是f103的。 bsp_init()这个没怎么听说呢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 17:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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