女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

stm32任務調度和管理

汽車玩家 ? 來源:CSDN ? 作者:CSDN ? 2021-07-23 09:22 ? 次閱讀

STM32F103ZE的AHB時鐘為72MHz,通過HSE的8M倍頻到72M,然后APB1預分頻系數為2,所以TIM2-7時鐘為2*36M。由于定時器是16位,PSC寄存器最大為65536,不支持71999,所以只能以0.1ms計數。

整個系統在獲取時間的累增時,定義64位變量,即可運行很久的時間,不用擔心溢出或者死機。定義64位變量有2個方法,一就是用long long 直接定義,通過sizeof測試為8個字節;二就是利用”stdint.h”,typedef uint64_t u64。

一般情況下,定時器計時結果算法公式為:Tout = (ARR+1)(PSC+1)/Tclk。Tclk即為時鐘頻率。

準備工作

  • 1)建立一個struct

typedef struct{

void (*fTask)(void);

u32 uNextTick;

u32 uLenTick;

}sTask;

1

2

3

4

5

  • 2)任務列表

static sTask mTaskTab[] =

{

{Task_SysTick, 0, 0} ,

{Task1, 0, 100} , // 10ms執行一次

{Task2, 0, 200} // 200ms執行一次

};

1

2

3

4

5

6

  • 3)初始化定時器

void TaskTimer_Init()

{

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);

/* Time base configuration */

TIM_TimeBaseStructure.TIM_Period = 65535;

TIM_TimeBaseStructure.TIM_Prescaler = 7199;

TIM_TimeBaseStructure.TIM_ClockDivision = 0;

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);

TIM_SetCounter(TIM2, 0);

/* TIM enable counter */

TIM_Cmd(TIM2, ENABLE);

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

  • 4)獲取啟動后時間

u64 GetTimingTick()

{

return TimingTick;

}

1

2

3

4

  • 5)任務執行期間獲取系統時間

在這里插入void Task_SysTick()

{

u32 temp = TIM_GetCounter(TIM2);

if(temp > 10000)

{

TIM_SetCounter(TIM2,0);

TimingTickHold = TimingTickHold + temp;

temp = 0;

}

TimingTick = temp + TimingTickHold;

}

1

2

3

4

5

6

7

8

9

10

11

運行實例

#define ARRAYSIZE(a) (sizeof(a)/sizeof((a)[0]))

static sTask mTaskTab[] =

{

{Task_SysTick, 0, 0},

{DATA_HANDLE, 0, 500},//50ms

{Key_Scan, 0, 500}

};

while(1)

{

for(int i = 0;i < ARRAYSIZE(mTaskTab);i++ )

{

if(mTaskTab[i].uNextTick <= GetTimingTick() )

{

mTaskTab[i].uNextTick += mTaskTab[i].uLenTick;

mTaskTab[i].fTask();

}

}

}

文章整合自:CSDN

編輯:ymf

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 定時器
    +關注

    關注

    23

    文章

    3287

    瀏覽量

    117205
  • 時鐘頻率
    +關注

    關注

    0

    文章

    50

    瀏覽量

    20615
  • HSE
    HSE
    +關注

    關注

    0

    文章

    18

    瀏覽量

    9596
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    快速入門——LuatOS:sys庫多任務管理實戰攻略!

    在嵌入式開發中,多任務管理是提升系統效率的關鍵。本教程專為快速入門設計,聚焦LuatOS的sys庫,通過實戰案例帶你快速掌握多任務創建、調度與同步技巧。無論你是零基礎新手還是希望快速提升開發效率
    的頭像 發表于 05-29 14:36 ?87次閱讀
    快速入門——LuatOS:sys庫多<b class='flag-5'>任務管理</b>實戰攻略!

    工控一體機多線程任務調度優化:聚徽分享破解工業復雜流程高效協同密碼

    任務調度作為工控一體機管理和協調各項任務的關鍵機制,其優化程度直接關乎工業生產的效率、穩定性與精準度,宛如一把關鍵鑰匙,解鎖工業復雜流程高效協同的大門。 工業復雜流程與多線程
    的頭像 發表于 05-28 14:06 ?84次閱讀

    安全生產調度管理系統的核心功能模塊

    安全生產調度管理系統是運用現代信息技術構建的智能化管理平臺,旨在實現生產安全風險的全面管控和應急資源的優化調度。該系統通過整合物聯網、大數據、人工智能等前沿技術,建立起覆蓋風險監測、預
    的頭像 發表于 05-16 15:25 ?111次閱讀

    AGV監控與任務管理系統設計

    AGV在智能物流中核心,助力工業4.0和中國制造2025。AGV管理監控調度系統實時監控、任務管理、路徑規劃,確保高效便捷。AGV市場前景廣闊,解決人口紅利喪失、勞動力成本上升等問題,
    的頭像 發表于 03-05 12:10 ?243次閱讀
    AGV監控與<b class='flag-5'>任務</b><b class='flag-5'>管理</b>系統設計

    數字化工廠物流核心技術—AGV調度系統

    AGV是自動導引運輸車,用于工廠物料搬運。AGV調度系統解決通信問題,實現任務調度、路徑規劃、交通管制等功能,與MES、ERP等系統對接,推動智能物流和無人工廠發展。
    的頭像 發表于 02-07 17:53 ?420次閱讀
    數字化工廠物流核心技術—AGV<b class='flag-5'>調度</b>系統

    車隊運營調度管理系統

    車隊運營調度管理系統作為無人駕駛車隊的云端大腦,承擔了打通業務層和無人駕駛車隊的重任。經緯恒潤車隊運營調度管理系統包含業務對接、車輛調度、作
    的頭像 發表于 01-09 10:25 ?788次閱讀
    車隊運營<b class='flag-5'>調度</b><b class='flag-5'>管理</b>系統

    SSTF中脈沖前傾的仿真

    任務: ? 調整塊長度 (L) 以補償光柵對產生的噪聲 ? 改變光柵對的距離 (D) 以確定對脈沖前傾的影響 ? 改變焦距 (f) 以確定對脈沖前傾的影響 光柵對在場中引入了噪聲。如果不進行補償
    發表于 12-31 09:04

    基于Flexus X加速MySQL鏡像搭建XXL-JOB任務調度平臺

    隨著云計算技術的飛速發展,Flexus 云服務器 X 憑借其高性能和高可用性,成為了眾多企業和開發者的首選。本文旨在通過搭建基于 Flexus X 加速 MySQL 鏡像的 XXL-JOB 任務調度
    的頭像 發表于 12-29 15:45 ?389次閱讀
    基于Flexus X加速MySQL鏡像搭建XXL-JOB<b class='flag-5'>任務</b><b class='flag-5'>調度</b>平臺

    定時器技術:Air780E如何革新定時任務管理

    今天講的是關于Air780E如何革新定時任務管理的內容,希望大家有所收獲。
    的頭像 發表于 11-07 13:50 ?648次閱讀
    定時器技術:Air780E如何革新定時<b class='flag-5'>任務</b><b class='flag-5'>管理</b>?

    負載管理器的主要功能

    負載管理器(Load Manager)是計算機系統中的一個關鍵組件,它負責分配和管理計算資源,以確保系統運行的效率和穩定性。負載管理器的主要功能包括任務
    的頭像 發表于 10-10 11:26 ?710次閱讀

    MES系統如何實現生產車間的實時監控、精準調度

    MES系統通過數據采集、傳輸、處理和展示等技術手段,實現了生產過程的實時監控;同時,通過生產計劃優化、生產任務分配、動態調度、資源優化和協同管理等功能模塊,實現了生產過程的精準調度
    的頭像 發表于 10-07 12:51 ?968次閱讀
    MES系統如何實現生產車間的實時監控、精準<b class='flag-5'>調度</b>

    上線 Airflow 官方!DolphinDB 帶來數據管理新體驗

    DolphinDB 正式登陸 Apache Airflow 官方,成為 Airflow 官方認可的第三方插件及工具供應商。Apache Airflow 是一個可編程、調度和監控的工作流管理平臺,以其模塊化的架構和動態定義數據管道的能力著稱,能夠靈活
    的頭像 發表于 08-23 17:00 ?513次閱讀
    上線 Airflow 官方!DolphinDB 帶來數據<b class='flag-5'>管理</b>新體驗

    Linux調度器的核心scheduler_tick介紹

    scheduler_tick在Linux內核中扮演著關鍵角色。它不僅負責處理定時器中斷和更新系統時間,還記錄進程的運行時間,并決定是否需要進行任務切換。通過這些功能,scheduler_tick有效保障了系統的時間管理任務
    的頭像 發表于 08-22 14:54 ?716次閱讀

    智能調度 多臺AGV為什么不會撞在一起?

    AGV小車在智能倉儲物流系統中廣泛應用,實現物流運輸自動化。多臺AGV需調度系統統籌行為,追求整體最優解。AGVS負責AGV團隊任務調度等,與MES、WMS系統對接,提升企業物流管理
    的頭像 發表于 08-14 17:59 ?528次閱讀
    智能<b class='flag-5'>調度</b>  多臺AGV為什么不會撞在一起?

    ESP32C3任務執行一段時間,會出現任務不運行的問題,為什么?

    ESP32C3任務執行一段時間,會出現任務不運行的問題, 不運行的任務優先級低,并且任務的延時時間為vTaskDelay(100/ portTICK_PERIOD_MS);
    發表于 06-05 07:23