日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內(nèi)不再提示

單片機工控應(yīng)用

汽車電子技術(shù) ? 來源:工控碼農(nóng) ? 作者:工控碼農(nóng) ? 2023-02-07 09:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

先看一個沒有做任務(wù)調(diào)度的XY軸復位的程序A:

//XY軸復位
unsigned int XYReset(unsigned char reset)
{
  static unsigned char operation = STEP1;
  static unsigned int baseTime;


  if(reset == TRUE)  
  {
    operation = STEP1;
   }

  switch(operation){
    case STEP1:
        sm_run(SM101,3200);  //步進電機SM101運動3200步
        operation = STEP2;
      break;
    case STEP2:
    if(sm_state[SM101]==SM_STOP)
    {  //3200步運動完成
        baseTime = systemTime;  //開始延時
        operation = STEP3;
      }
      break;
    case STEP3:
     if(Timer(baseTime,500)==TRUE)
     { //延時500ms完成
        sm_run(SM102,3200);  //步進電機SM102運動3200步
        operation = STEP4;
      }
      break;
    case STEP4:
      if(IsSensorOn(X101))
      {
        sm_stop(SM102);
        return TRUE;
      }
      else if(sm_state[SM102] == SM_STOP)
      {
        return -2;  //動作報錯
      }
      break;
    default:break;
  }  
  return 0; //動作正在運行
}

下面增加任務(wù)調(diào)度的XY軸復位的程序B:

//XY軸復位
void XYReset()
{
  switch(GetStep())
  {
    case STEP1:
    sm_run(SM101,3200);
    wait_sm_stop(SM101,STEP2);//任務(wù)切換,讓出當前的運行權(quán)限,直到SM101電機停止后切換回來
    break;
    case STEP2:
    wait_time(500,STEP3);//任務(wù)切換 500ms后切換回來
    break;
    STEP3:
    find_sensor(SM102,3200,X101,STEP4,STEP_ERROR);//任務(wù)切換,傳感器感應(yīng) 電機停止后回來
    break;
    STEP4:
    set_ation_ok();  //正確結(jié)束當前的動作任務(wù),退出就緒隊列
    break;
    STEP_ERROR:
    set_error("SM102電機丟步");//錯誤結(jié)束當前動作任務(wù),退出就緒隊列
    break;
  }
}

程序A和程序B的共同點:

  1. 都有耗時操作:電機運動,等待傳感器狀態(tài)變化,延時等。
  2. 使用switch case做狀態(tài)轉(zhuǎn)換
  3. 都是非阻塞,沒有死等卡在當前的函數(shù),系統(tǒng)其它函數(shù)也可以運行.

程序A程序B的不同點:

  1. 程序A的局部變量多,程序B要簡短,代碼行數(shù)只有程序A的56%
  2. 程序B的電機狀態(tài) 傳感器狀態(tài) 時間狀態(tài)都是系統(tǒng)管理查詢的,極大的提高了代碼的復用,因為一個項目一般都有幾十個動作動作函數(shù).
  3. 程序B沒有if else都是函數(shù)調(diào)用,邏輯清晰,更接近自然表達.
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2578

    文章

    55581

    瀏覽量

    794337
  • 單片機
    +關(guān)注

    關(guān)注

    6078

    文章

    45596

    瀏覽量

    674085
  • 電機
    +關(guān)注

    關(guān)注

    145

    文章

    9713

    瀏覽量

    154902
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4977

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    專注單片機工控編程開發(fā)#步控電子#步驟編程#單片機 #單片機開發(fā)

    單片機
    東莞市步控電子科技有限公司
    發(fā)布于 :2022年08月03日 22:55:10

    單片機工控

    ,指示燈,計數(shù)器,撥碼開關(guān))如果用PLC成本太高,即使時最入門的也不是太合算,而且還需要自備24V開關(guān)電源,對配線也是個難題,就有這個一個想法,可對單片機了解甚少,還望對如上所列給予指點1.能否實現(xiàn)2.開發(fā)這個通用的班子費用和周期3.有意向合作開發(fā)的mail至:leon51717@163.com
    發(fā)表于 03-18 14:31

    超齊全單片機工具集

    超齊全單片機工具集單片機工
    發(fā)表于 11-03 16:49 ?155次下載

    超級單片機工具軟件

    電子發(fā)燒友網(wǎng)站提供《超級單片機工具軟件.exe》資料免費下載
    發(fā)表于 07-13 17:49 ?26次下載

    8051單片機工作原理介紹

    8051單片機工作原理 8051單片機工作原理
    發(fā)表于 10-28 11:19 ?43次下載

    單片機初學者邁向單片機工程師

    單片機初學者邁向單片機工程師從單片機初學者邁向單片機工程師
    發(fā)表于 01-15 16:33 ?47次下載

    單片機工具大全

    收藏的單片機工具,分享出來
    發(fā)表于 02-15 23:04 ?21次下載

    單片機工控常用IC—sn74lvc07a資料下載.pdf

    單片機,工控常用IC
    發(fā)表于 05-25 15:46 ?6次下載

    實用單片機工具應(yīng)用程序合集免費下載

    本文檔的主要內(nèi)容詳細介紹的是超級單片機工具軟件應(yīng)用程序合集免費下載包括了:51波特率計算應(yīng)用程序,超級單片機工具軟件,單片機小精靈。
    發(fā)表于 04-28 16:24 ?35次下載
    實用<b class='flag-5'>單片機工</b>具應(yīng)用程序合集免費下載

    MSP430單片機工程配置driverlib庫

    MSP430單片機工程配置driverlib庫
    發(fā)表于 11-19 16:36 ?22次下載
    MSP430<b class='flag-5'>單片機工</b>程配置driverlib庫

    單片機工控實現(xiàn)任務(wù)執(zhí)行管理

    前面寫了switch case做任務(wù)調(diào)度的應(yīng)用,這邊寫一下如何實現(xiàn).像一般的RTOS一樣都有一個任務(wù)控制塊(TCB)列表來管理所有的任務(wù),所以這里也需要一個結(jié)構(gòu)體來管理動作任務(wù),這里叫做ACB吧.
    的頭像 發(fā)表于 02-07 09:37 ?1719次閱讀

    單片機工控事件

    單片機工控通常有延時,電機狀態(tài),傳感器狀態(tài)等通用耗時操作,業(yè)務(wù)程序查詢這些狀態(tài),就會產(chǎn)生大量的冗余代碼,不簡潔.使用事件則是把這些通用操作丟給系統(tǒng)去處理,系統(tǒng)操作完成后,則運行業(yè)務(wù)程序的下一個Step.
    的頭像 發(fā)表于 02-07 09:40 ?1812次閱讀

    單片機工控的電機減速算法是什么?

    單片機給步進驅(qū)動一個脈沖,電機轉(zhuǎn)動一個步距角,單片機給脈沖越快,步進電機單位時間內(nèi),轉(zhuǎn)動的角度也就越大.即脈沖頻率正比于電機轉(zhuǎn)速.
    的頭像 發(fā)表于 02-07 09:43 ?3084次閱讀
    <b class='flag-5'>單片機工控</b>的電機減速算法是什么?

    單片機工控的工程分離是什么?

    單片機電路板一般專有的,如汽車的車燈控制電路板和EPS控制的電路板是完全不同的。專有的電路板,軟件就比較難通用,軟件編程比較強調(diào)的是單片機系統(tǒng)。
    的頭像 發(fā)表于 02-07 09:47 ?1986次閱讀
    <b class='flag-5'>單片機工控</b>的工程分離是什么?

    51單片機工程模板創(chuàng)建方法

    本教程將向大家介紹如何使用KEIL C51 軟件以及如何創(chuàng)建51 單片機工程。通過本教程的學習,讓大家創(chuàng)建屬于自己的51 單片機工程模板,為后面學習51 單片機編程做好鋪墊。
    發(fā)表于 07-15 15:27 ?6499次閱讀
    51<b class='flag-5'>單片機工</b>程模板創(chuàng)建方法
    陆丰市| 祥云县| 博乐市| 鹤峰县| 包头市| 潜江市| 临泽县| 钟祥市| 乐陵市| 宣汉县| 阿克陶县| 阳江市| 祁东县| 乌什县| 虞城县| 成都市| 新野县| 南溪县| 高清| 鸡东县| 仙游县| 太湖县| 黔南| 中山市| 南昌市| 高陵县| 伊通| 兰溪市| 马龙县| 电白县| 神木县| 安义县| 宁明县| 新田县| 河南省| 本溪| 荣昌县| 乐昌市| 通许县| 民乐县| 工布江达县|