91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

    文章

    3298

    瀏覽量

    118985
  • 時鐘頻率
    +關注

    關注

    0

    文章

    50

    瀏覽量

    20689
  • HSE
    HSE
    +關注

    關注

    0

    文章

    18

    瀏覽量

    9676
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    同步任務開發指導

    ,例如無法單例創建的類對象實現的方法。 使用TaskPool處理同步任務調度獨立的任務,或者一系列任務為靜態方法實現,或者可以通過單例構造唯一的句柄或類對象,可在不同
    發表于 06-19 07:57

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

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

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

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

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

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

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

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

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

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

    車隊運營調度管理系統

    車隊運營調度管理系統作為無人駕駛車隊的云端大腦,承擔了打通業務層和無人駕駛車隊的重任。經緯恒潤車隊運營調度管理系統包含業務對接、車輛調度、作
    的頭像 發表于 01-09 10:25 ?910次閱讀
    車隊運營<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 ?457次閱讀
    基于Flexus X加速MySQL鏡像搭建XXL-JOB<b class='flag-5'>任務</b><b class='flag-5'>調度</b>平臺

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

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

    負載管理器的主要功能

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

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

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

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

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

    Linux調度器的核心scheduler_tick介紹

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

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

    AGV小車在智能倉儲物流系統中廣泛應用,實現物流運輸自動化。多臺AGV需調度系統統籌行為,追求整體最優解。AGVS負責AGV團隊任務調度等,與MES、WMS系統對接,提升企業物流管理
    的頭像 發表于 08-14 17:59 ?593次閱讀
    智能<b class='flag-5'>調度</b>  多臺AGV為什么不會撞在一起?
    主站蜘蛛池模板: 色www亚洲国产张柏芝 | 夜福利视频| 亚洲色图片区 | 亚洲视频第一页 | 国产美女在线免费观看 | 欧美色影视 | 东方天堂网 | 美女扒开尿口让男生添 漫画 | 天天做天天爱天天爽综合区 | 亚洲一区日本 | 一区二区三区高清视频在线观看 | 狠狠色 综合色区 | 久久久五月天 | 男人午夜 | 上色天天综合网 | 在线免费视频你懂的 | 欧美成人 一区二区三区 | 看天堂| 天天成人综合网 | 色老头在线官方网站 | 午夜高清免费观看视频 | 激情爱爱的免费视频 | 视频一区二区在线观看 | 国产综合免费视频 | 欧美大胆一级视频 | h网站在线观看 | 午夜理伦片免费 | 99热手机在线观看 | 久久夜视频 | 妖精视频永久在线入口 | 色视频在线观看完整免费版 | 欧美色图综合网 | 午夜免费福利在线观看 | 色偷偷91综合久久噜噜噜男男 | 国产精品一区二区三 | 免费一级黄色录像 | 九九热在线视频观看 | 欧美乱强性伦xxxxx | 精品精品国产高清a毛片牛牛 | 小草影院亚洲私人影院 | 午夜看片福利 |