久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1553|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM32下的UCOSII移植程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:493026 發(fā)表于 2020-6-26 15:31 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
STM32下的UCOSII移植,親測有效!
程序:
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "includes.h"

//START 任務(wù)
//設(shè)置任務(wù)優(yōu)先級
#define START_TASK_PRIO            10  ///開始任務(wù)的優(yōu)先級為最低
//設(shè)置任務(wù)堆棧大小
#define START_STK_SIZE            128
//任務(wù)任務(wù)堆棧
OS_STK START_TASK_STK[START_STK_SIZE];
//任務(wù)函數(shù)
void start_task(void *pdata);

//LED0任務(wù)
//設(shè)置任務(wù)優(yōu)先級
#define LED0_TASK_PRIO            7
//設(shè)置任務(wù)堆棧大小
#define LED0_STK_SIZE            128
//任務(wù)堆棧
OS_STK LED0_TASK_STK[LED0_STK_SIZE];
//任務(wù)函數(shù)
void led0_task(void *pdata);

//LED1任務(wù)
//設(shè)置任務(wù)優(yōu)先級
#define LED1_TASK_PRIO            6
//設(shè)置任務(wù)堆棧大小
#define LED1_STK_SIZE            128
//任務(wù)堆棧
OS_STK LED1_TASK_STK[LED1_STK_SIZE];
//任務(wù)函數(shù)
void led1_task(void *pdata);

//浮點(diǎn)測試任務(wù)
#define FLOAT_TASK_PRIO            5
//設(shè)置任務(wù)堆棧大小
#define FLOAT_STK_SIZE            128
//任務(wù)堆棧
//如果任務(wù)中使用printf來打印浮點(diǎn)數(shù)據(jù)的話一點(diǎn)要8字節(jié)對齊
__align(8) OS_STK FLOAT_TASK_STK[FLOAT_STK_SIZE];
//任務(wù)函數(shù)
void float_task(void *pdata);

int main(void)
{
    delay_init(168);       //延時初始化
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中斷分組配置
    uart_init(115200);    //串口波特率設(shè)置
    LED_Init();  //LED初始化
   
    OSInit();  //UCOS初始化
    OSTaskCreate(start_task,(void*)0,(OS_STK*)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO); //創(chuàng)建開始任務(wù)
    OSStart(); //開始任務(wù)
}

//開始任務(wù)
void start_task(void *pdata)
{
    OS_CPU_SR cpu_sr=0;
    pdata=pdata;
    OSStatInit();  //開啟統(tǒng)計任務(wù)
   
    OS_ENTER_CRITICAL();  //進(jìn)入臨界區(qū)(關(guān)閉中斷)
    OSTaskCreate(led0_task,(void*)0,(OS_STK*)&LED0_TASK_STK[LED0_STK_SIZE-1],LED0_TASK_PRIO);//創(chuàng)建LED0任務(wù)
    OSTaskCreate(led1_task,(void*)0,(OS_STK*)&LED1_TASK_STK[LED1_STK_SIZE-1],LED1_TASK_PRIO);//創(chuàng)建LED1任務(wù)
    OSTaskCreate(float_task,(void*)0,(OS_STK*)&FLOAT_TASK_STK[FLOAT_STK_SIZE-1],FLOAT_TASK_PRIO);//創(chuàng)建浮點(diǎn)測試任務(wù)
    OSTaskSuspend(START_TASK_PRIO);//掛起開始任務(wù)
    OS_EXIT_CRITICAL();  //退出臨界區(qū)(開中斷)
}


//LED0任務(wù)
void led0_task(void *pdata)
{
    while(1)
    {
        LED0=0;
        delay_ms(80);
        LED0=1;
        delay_ms(100);
    }
}

//LED1任務(wù)
void led1_task(void *pdata)
{
    while(1)
    {
        LED1=0;
        delay_ms(300);
        LED1=1;
        delay_ms(300);
    }
}

//浮點(diǎn)測試任務(wù)
void float_task(void *pdata)
{
    OS_CPU_SR cpu_sr=0;
    static float float_num=0.01;
    while(1)
    {
        float_num+=0.01f;
        OS_ENTER_CRITICAL();    //進(jìn)入臨界區(qū)(關(guān)閉中斷)
        printf("float_num的值為: %f\r\n",float_num); //串口打印結(jié)果
        OS_EXIT_CRITICAL();        //退出臨界區(qū)(開中斷)
        delay_ms(500);
    }
}



STM32下的UCOSII移植.7z

366.19 KB, 下載次數(shù): 19, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩三级在线观看 | 国产精品久久久久久久久久久新郎 | 欧美一区二区综合 | 国产在线资源 | 一区免费 | 亚洲一区久久 | 国产乱码精品1区2区3区 | 91电影院 | 久久国产精品视频 | 久久国产精品免费视频 | 激情 一区 | 中文字幕高清在线 | 色婷婷综合网站 | 日韩在线欧美 | 91在线成人 | 欧美区日韩区 | 色婷婷av久久久久久久 | 国产成人免费在线 | ririsao久久精品一区 | 国产一区二区精品在线 | 91综合网 | 免费午夜电影 | 在线日韩 | 久久精品视频在线观看 | h视频免费在线观看 | 精品一区二区三区中文字幕 | 久久这里只有精品首页 | 久久精品欧美一区二区三区不卡 | 99re热精品视频 | 色综合色综合网色综合 | 亚洲欧美成人在线 | 日韩在线精品视频 | 久色网 | 日韩视频成人 | 视频一区在线观看 | 国产色在线 | 久久免费小视频 | 一级毛片视频在线观看 | 精品国产一区二区在线 | 国产成人精品免费视频 | 91在线电影 |