空閒任務 鉤子函式

2021-10-02 15:25:45 字數 2538 閱讀 6211

空閒任務——鉤子函式

本章和上一章實驗效果一樣都是低功耗

比上一章多乙個函式

#include

"sys.h"

#include

"delay.h"

#include

"usart.h"

#include

"led.h"

#include

"timer.h"

#include

"lcd.h"

#include

"key.h"

#include

"beep.h"

#include

"string.h"

#include

"malloc.h"

#include

"freertos.h"

#include

"task.h"

#include

"semphr.h"

//èîîñóåï輶

#define start_task_prio 1

//èîîñ¶ñõ»´óð¡

#define start_stk_size 256

//èîîñ¾ä±ú

taskhandle_t starttask_handler;

//èîîñº¯êý

void

start_task

(void

*pvparameters)

;//èîîñóåï輶

#define task1_task_prio 2

//èîîñ¶ñõ»´óð¡

#define task1_stk_size 256

//èîîñ¾ä±ú

taskhandle_t task1task_handler;

//èîîñº¯êý

void

task1_task

(void

*pvparameters)

;//èîîñóåï輶

#define dataprocess_task_prio 3

//èîîñ¶ñõ»´óð¡

#define dataprocess_stk_size 256

//èîîñ¾ä±ú

taskhandle_t dataprocess_handler;

//èîîñº¯êý

void

dataprocess_task

(void

*pvparameters)

;//¶þöµðåºå῾ä±ú

semaphorehandle_t binarysemaphore;

//¶þöµðåºå῾ä±ú

//óãóúãüáî½âîöóãµäãüáîöµ

#define led1on 1

#define led1off 2

#define beepon 3

#define beepoff 4

#define commanderr 0xff

//進入低功耗前所做的事情

void

beforeentersleep

(void

)//退出低功耗所做的事情

void

afterexitsleep

(void

)//空閒任務鉤子函式

void

(void

)//½«×ö·û´®öðµäð¡ð´×öä¸×ª»»îª´óð´

//str:òª×ª»»µä×ö·û´®

//len£º×ö·û´®³¤¶è

void

lowertocap

(u8 *str,u8 len)

}//ãüáî´¦àíº¯êý£¬½«×ö·û´®ãüáîת»»³éãüáîöµ

//str£ºãüáî

//·µ»øöµ: 0xff£¬ãüáî´íîó£»æäëûöµ£¬ãüáîöµ

u8 commandprocess

(u8 *str)

intmain

(void

)//¿ªê¼èîîñèîîñº¯êý

void

start_task

(void

*pvparameters)

//task1èîîñº¯êý

void

task1_task

(void

*pvparameters)

}//dataprocess_taskº¯êý

void

dataprocess_task

(void

*pvparameters)

}else

usart_rx_sta=0;

memset

(usart_rx_buf,

0,usart_rec_len)

;//´®¿ú½óêõ»º³åçøçåáã

myfree

(sramin,commandstr)

;//êí·åäú´æ}}

}

4 空閒任務與鉤子函式

cpu使用率的計算,先去統計cpu的空閒率,100 空閒率 cpu使用率。臨界區的概念 臨界區有進入和退出操作,在進入臨界區和退出臨界區這段時間內執行的 是獨享cpu使用權的!rt enter critical 進入臨界區 tick rt tick get while rt tick get tic...

FreeRtos 空閒任務與空閒任務鉤子函式

以下基礎知識 自正點原子pdf資料。前面例子中建立的任務大部份時間都處於阻塞態。這種狀態下所有的任務都不可執行,所以也不能被排程器選中。但處理器總是需要 來執行 所以至少要有乙個任務處於執行態。為了保證這 一點,當呼叫 vtaskstartscheduler 時,排程器會自動建立乙個空閒任務。空閒任...

mounted鉤子函式 對vue中鉤子函式的理解

1 beforecreate 鉤子 該階段元件例項剛建立,元件屬性計算之前 可理解為元件屬性還未初始化,未繫結,未掛載元素el 比如 el,data,methods等,如果你試圖在beforecreated鉤子中獲取這些屬性值,會得到ubdefined 的結果,但是 可以獲取到this物件,因為此時...