OpenEdv-开源电子网

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

STM32F103R8T6使用UCOSII 出错

[复制链接]

2

主题

9

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2020-1-6
在线时间
8 小时
发表于 2020-1-6 16:51:53 | 显示全部楼层 |阅读模式
1金钱
用了原子哥的例程,就是将芯片改成了R8T6,程序总是会进入HardFault_Handler,程序很简单就是点亮LED
//  main.c


#include "main_include.h"

//START 任务
#define        TASK_START_PRIO                                                                9                        ///开始任务的优先级为最低
#define        TASK_START_STK_SIZE                                                        128
OS_STK        TASK_START_STK[TASK_START_STK_SIZE];
void Task_Start(void *pdata);

//START 任务
#define        TASK_LED_PRIO                                                                1                        ///开始任务的优先级为最低
#define        TASK_LED_STK_SIZE                                                        128
OS_STK        TASK_LED_STK[TASK_START_STK_SIZE];
void Task_LED(void *pdata);

int main(void)
{
        SystemInit();
        delay_init();                                                                                        //延时初始化
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);                                //中断分组配置
       
        OSInit();                                                                                                        //UCOS初始化
        OSTaskCreate(Task_Start, (void*)0, (OS_STK*)&TASK_START_STK[TASK_START_STK_SIZE - 1], TASK_START_PRIO); //创建开始任务
        OSStart();                                                                                                        //开始任务
}

//开始任务
void Task_Start(void *pdata)
{
        OS_CPU_SR cpu_sr=0;
        pdata = pdata;
        OSStatInit();                                                                                                //开启统计任务
       
        OS_ENTER_CRITICAL();                                                                                //进入临界区(关闭中断)
        OSTaskCreate(Task_LED,        (void*)0,        (OS_STK*)&TASK_LED_STK[TASK_LED_STK_SIZE - 1],        TASK_LED_PRIO);//创建LED0任务
        OS_EXIT_CRITICAL();                                                                                        //退出临界区(开中断)
}

void Task_LED(void *pdata)
{
        LED_Task();                                                                                //退出临界区(开中断)
}


// LED.c

#include "led.h"

//LED IO初始化
void LED_Init(void)
{
    GPIO_InitTypeDef  GPIO_InitStructure;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);           //使能PA端口时钟

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;                      //LED-->PA.12 端口配置
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                //推挽输出
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;               //IO口速度为50MHz
    GPIO_Init(GPIOA, &GPIO_InitStructure);                          //根据设定参数初始化GPIOA.12
    GPIO_SetBits(GPIOA, GPIO_Pin_12);                               //PA.12 输出高
}

//LED任务函数
void LED_Task(void)
{
        LED_Init();
    while(1)
    {
        LED_RUN =~ LED_RUN;
        delay_ms(500);
    }
}




Program Size: Code=13176 RO-data=524 RW-data=116 ZI-data=5348  


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

使用道具 举报

2

主题

9

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2020-1-6
在线时间
8 小时
 楼主| 发表于 2020-1-6 16:53:29 | 显示全部楼层
有点蒙圈了,谁来指导一下
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2020-1-6
在线时间
8 小时
 楼主| 发表于 2020-1-6 16:56:59 | 显示全部楼层
这是我的工程

信号采集.rar

3.09 MB, 下载次数: 26

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2020-1-7 01:59:54 | 显示全部楼层
仿真找问题
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-20 08:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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