野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7255|回复: 4

[ucos] ucosII 移植到 stm32f103zet6,运行多任务但只有主任务led1亮

[复制链接]
发表于 2016-8-5 09:36:27 | 显示全部楼层 |阅读模式
ucosII 移植到 stm32f103zet6,运行多任务但只有主任务led1亮,而且是一直亮。我是跟着野火教程 《ucosII移植与深入实战指南》
贴主要代码
void Task_Start(void *p_arg)
{
        (void)p_arg;
        OSTaskCreate(Task_LED2,(void *)0,&task_led2_stk[TASK_LED2_STK_SIZE-1],TASK_LED2_PRIO);
        OSTaskCreate(Task_LED3,(void *)0,&task_led3_stk[TASK_LED3_STK_SIZE-1],TASK_LED3_PRIO);
        while (1)
        {
                 LED1(ON);
                Delay(0x0FFF);
                LED1(OFF);
                Delay(0x0FFF);
        }  
}
void Task_LED2(void *p_arg)
{
        (void)p_arg;
        while (1)
        {
                LED2(ON);
                Delay(0x0FFF);
                LED2(OFF);
                Delay(0x0FFF);

        }
}

void Task_LED3(void *p_arg)
{
        (void)p_arg;
        while (1)
        {
                LED3(ON);
                Delay(0x0FFF);
                LED3(OFF);
                Delay(0x0FFF);

        }
}


是怎么回事吗?问题出在哪里了?
我有点怀疑是不是 定时器没起作用。
void BSP_Init(void)
{
        SystemInit();
        SysTick_init();
        LED_GPIO_Config();
}

void SysTick_init(void)
{
        //SysTick_Config(SystemCoreClock/OS_TICKS_PER_SEC);
         SysTick_Config(SystemCoreClock/OS_CFG_TICK_RATE_HZ);

  /*  配置1ms 中断一次,即os的频率为1000hz */
        if (SysTick_Config(SystemCoreClock/OS_CFG_TICK_RATE_HZ))       
        {
                /* Capture error */
                while (1);
        }
}


有哪个好心人帮忙看下吗?谢谢了。
回复

使用道具 举报

 楼主| 发表于 2016-8-5 11:07:36 | 显示全部楼层
问题找到了,delay函数用错了,用ucosII 提供的 OSTimeDly(200);  就可以了。
回复 支持 反对

使用道具 举报

发表于 2016-8-5 11:37:02 | 显示全部楼层
今天看了一点C的东西,有点不懂。请教大家一下。
#if 0
#include"stdio.h"
int *p;
fun(p)
{
printf("*p=%d\n",*p);
}
int main()
{
int a=3;
fun(&a);
}
#endif

#include"stdio.h"
fun(int *p)
{
printf("*p=%d\n",*p);
}
int main()
{
int a=3;
fun(&a);
}

//int main()
{
    int a = 90;  
    change(&a);
    printf("%d\n",a);
    return 0;
}
void change(int *p)    //这里为什么不是change(int p)?*p中不是p才是接受地址的么?

{
    *p = 10;
}//
回复 支持 反对

使用道具 举报

发表于 2016-8-5 11:38:46 | 显示全部楼层
上面有三个程序,其中第一个不对,第二个就对。?第三个地址问的是地址到底给了谁?
回复 支持 反对

使用道具 举报

发表于 2016-11-17 17:03:15 | 显示全部楼层
火哥的程序是很值得学习的,我都是学着火哥的程序成长的
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-22 00:42 , Processed in 0.036978 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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