在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

簡(jiǎn)述如何使用Harmony的動(dòng)態(tài)驅(qū)動(dòng)和狀態(tài)機(jī)來(lái)編寫程序

算法&編程學(xué)院 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 2018-02-01 03:33 ? 次閱讀

上一篇中介紹了UART的收發(fā)數(shù)據(jù)操作,那些操作都是基于外設(shè)庫(kù)的,而不是采用Harmony的動(dòng)態(tài)驅(qū)動(dòng),也沒有采用狀態(tài)機(jī)的機(jī)制。本篇就來(lái)介紹一下如何使用Harmony的動(dòng)態(tài)驅(qū)動(dòng)和狀態(tài)機(jī)來(lái)編寫程序。其實(shí)狀態(tài)機(jī)是挺簡(jiǎn)單的,就是事先定義好可能發(fā)生的哪些狀態(tài),然后主循環(huán)里根據(jù)不同的狀態(tài)進(jìn)行不同的處理,這個(gè)在項(xiàng)目中也是比較常用的方法。

注意Dynamic的驅(qū)動(dòng)對(duì)象都需要有一個(gè)Open動(dòng)作來(lái)創(chuàng)建一個(gè)Handle,后續(xù)所有操作都是用Handle來(lái)代表這個(gè)驅(qū)動(dòng)對(duì)象。所有動(dòng)態(tài)驅(qū)動(dòng)的中斷都是采用注冊(cè)回調(diào)函數(shù)的方式來(lái)使用,無(wú)需到system_init中添加,也無(wú)需自己清除中斷標(biāo)識(shí),驅(qū)動(dòng)已經(jīng)自己完成了。

另外要注意的一點(diǎn)是,串口接收一個(gè)字節(jié)后進(jìn)入了中斷,如果不使用Read接收一下,那么后續(xù)就再也無(wú)法進(jìn)入中斷,就會(huì)出現(xiàn)僅中斷一次的現(xiàn)象,因此,也不要在中斷中進(jìn)行耗時(shí)操作,避免沒有及時(shí)接收數(shù)據(jù),導(dǎo)致數(shù)據(jù)殘缺不全。

先在app.h文件中定義狀態(tài)機(jī)和UART要使用的相關(guān)變量結(jié)構(gòu)體,使用結(jié)構(gòu)體也是滿方便的。

1

在app.c中編寫應(yīng)用程序,包含頭文件之后,初始化函數(shù)編寫,這里的初始化不是底層的初始化,而是初始化UART的相關(guān)變量,并創(chuàng)建句柄。第一步要initial(open一個(gè)客戶端),然后判斷創(chuàng)建的客戶端時(shí)候有效,有效的話,就創(chuàng)建中斷回調(diào)函數(shù),中斷程序的內(nèi)容直接在回調(diào)函數(shù)里編寫就可以了。

2

編寫中斷回調(diào)函數(shù)內(nèi)容程序,收到一個(gè)數(shù)據(jù)后存儲(chǔ)到數(shù)據(jù)緩沖區(qū),并置位接收完成標(biāo)志位

3

發(fā)送數(shù)據(jù)的函數(shù),發(fā)送采用查詢方式

4

編寫Uart_Task()函數(shù),狀態(tài)里就在這里處理,初始化狀態(tài)時(shí)進(jìn)行初始化,然后進(jìn)入接收數(shù)據(jù)狀態(tài),接收到數(shù)據(jù)后回發(fā),并在OLED上顯示接收到的字節(jié)數(shù)。

5

在APP_Tasks()中循環(huán)調(diào)用Uart_Task(),以處理接收到的數(shù)據(jù)。

6

編譯,下載程序到開發(fā)板,打開串口軟件測(cè)試

7

OLED顯示效果

092736phxohksn4x4kxd44

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    493

    瀏覽量

    28109
收藏 人收藏

    評(píng)論

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

    為什么PIC32的Harmony編寫沒有交互的狀態(tài)機(jī)

    重新定義,但是基于和聲方法,這些狀態(tài)機(jī)也基于中斷在不同的文件中從一個(gè)狀態(tài)移動(dòng)到另一個(gè)狀態(tài)。這個(gè)應(yīng)用程序運(yùn)行良好,但我詢問您的意見,如果這種方法是正確的或可以改進(jìn)的,或者如果您有任何SU
    發(fā)表于 08-12 08:36

    什么是有限狀態(tài)機(jī)

    在嵌入式,機(jī)器人領(lǐng)域,由于多的復(fù)雜邏輯狀態(tài),我們編寫程序的時(shí)候不得不考慮很多種情況,容易造成功能間的沖突。有限狀態(tài)機(jī)(finite-state machine),簡(jiǎn)稱狀態(tài)機(jī),是一種表示
    發(fā)表于 12-20 06:51

    狀態(tài)機(jī)原理在控制程序設(shè)計(jì)中的應(yīng)用

    計(jì)算機(jī)控制系統(tǒng)的控制程序具有有限狀態(tài)自動(dòng)機(jī)的特征 可以用有限狀態(tài)機(jī)理論來(lái)描述。利用狀態(tài)轉(zhuǎn)移圖和條件編碼可以更直觀和清晰地描述
    發(fā)表于 03-22 15:30 ?1次下載

    VFP9.0編寫程序

    數(shù)據(jù)庫(kù)編寫程序,VFP9.0編寫程序,中文版利用數(shù)據(jù)庫(kù)知識(shí)編寫可以運(yùn)行程序
    發(fā)表于 06-21 16:42 ?1次下載

    狀態(tài)機(jī)VHDL程序

    狀態(tài)機(jī)VHDL程序,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-11 15:51 ?5次下載

    簡(jiǎn)述使用QII狀態(tài)機(jī)向?qū)绾蝿?chuàng)建一個(gè)狀態(tài)機(jī)

    如何使用QII狀態(tài)機(jī)向?qū)?chuàng)建一個(gè)狀態(tài)機(jī)
    的頭像 發(fā)表于 06-20 00:11 ?4495次閱讀
    <b class='flag-5'>簡(jiǎn)述</b>使用QII<b class='flag-5'>狀態(tài)機(jī)</b>向?qū)绾蝿?chuàng)建一個(gè)<b class='flag-5'>狀態(tài)機(jī)</b>

    狀態(tài)機(jī)如何簡(jiǎn)化PLC程序編寫

    在PLC程序編寫過(guò)程中,可以使用狀態(tài)機(jī)的控制思路,將一些復(fù)雜的控制過(guò)程使用狀態(tài)機(jī)的方法處理。這里簡(jiǎn)單給大家介紹一下什么是狀態(tài)機(jī)?如下圖所示
    的頭像 發(fā)表于 09-10 14:44 ?4532次閱讀
    <b class='flag-5'>狀態(tài)機(jī)</b>如何簡(jiǎn)化PLC<b class='flag-5'>程序</b>的<b class='flag-5'>編寫</b>

    FPGA:狀態(tài)機(jī)簡(jiǎn)述

    本文目錄 前言 狀態(tài)機(jī)簡(jiǎn)介 狀態(tài)機(jī)分類 Mealy 型狀態(tài)機(jī) Moore 型狀態(tài)機(jī) 狀態(tài)機(jī)描述 一段式
    的頭像 發(fā)表于 11-05 17:58 ?7972次閱讀
    FPGA:<b class='flag-5'>狀態(tài)機(jī)</b><b class='flag-5'>簡(jiǎn)述</b>

    基于事件驅(qū)動(dòng)的有限狀態(tài)機(jī)介紹

    ? 一、介紹 EFSM(event finite state machine,事件驅(qū)動(dòng)型有限狀態(tài)機(jī)),是一個(gè)基于事件驅(qū)動(dòng)的有限狀態(tài)機(jī),主要應(yīng)用于嵌入式設(shè)備的軟件系統(tǒng)中。 EFSM的設(shè)計(jì)
    的頭像 發(fā)表于 11-16 15:29 ?2552次閱讀

    狀態(tài)模式(狀態(tài)機(jī))

    share,作者:亞索老哥)),原來(lái)狀態(tài)機(jī)還可以這么簡(jiǎn)單地玩~~亞索老哥提出的狀態(tài)機(jī)六步法(1)、定義狀態(tài)接口(2)、定義系統(tǒng)當(dāng)前狀態(tài)指針(3)、定義具體
    發(fā)表于 12-16 16:53 ?9次下載
    <b class='flag-5'>狀態(tài)</b>模式(<b class='flag-5'>狀態(tài)機(jī)</b>)

    基于事件驅(qū)動(dòng)的有限狀態(tài)機(jī)介紹

    EFSM(event finite state machine,事件驅(qū)動(dòng)型有限狀態(tài)機(jī)),是一個(gè)基于事件驅(qū)動(dòng)的有限狀態(tài)機(jī),主要應(yīng)用于嵌入式設(shè)備的軟件系統(tǒng)中。
    的頭像 發(fā)表于 02-11 10:17 ?1268次閱讀

    自動(dòng)生成程序狀態(tài)機(jī)代碼狀態(tài)機(jī)建模方法

    首先運(yùn)行fsme命令來(lái)啟動(dòng)狀態(tài)機(jī)編輯器,然后單擊工具欄上的“New”按鈕來(lái)創(chuàng)建一個(gè)新的狀態(tài)機(jī)。FSME中用于構(gòu)建狀態(tài)機(jī)的基本元素一共有五種:
    的頭像 發(fā)表于 09-13 16:50 ?1617次閱讀
    自動(dòng)生成<b class='flag-5'>程序</b><b class='flag-5'>狀態(tài)機(jī)</b>代碼<b class='flag-5'>狀態(tài)機(jī)</b>建模方法

    如何使用FSME來(lái)定制狀態(tài)機(jī)

    定制狀態(tài)機(jī) 目前得到的狀態(tài)機(jī)已經(jīng)能夠響應(yīng)來(lái)自外部的各種事件,并適當(dāng)?shù)卣{(diào)整自己當(dāng)前所處的狀態(tài),也就是說(shuō)已經(jīng)實(shí)現(xiàn)了狀態(tài)機(jī)引擎的功能,接下來(lái)要做的就是根據(jù)應(yīng)用的具體需求
    的頭像 發(fā)表于 09-13 16:57 ?1812次閱讀
    如何使用FSME<b class='flag-5'>來(lái)</b>定制<b class='flag-5'>狀態(tài)機(jī)</b>

    虛擬機(jī)linux怎么編寫程序

    在虛擬機(jī)Linux上編寫程序是一項(xiàng)非常常見且有用的任務(wù)。無(wú)論是開發(fā)一個(gè)簡(jiǎn)單的腳本、一個(gè)Web應(yīng)用程序還是一個(gè)復(fù)雜的軟件項(xiàng)目,Linux提供了強(qiáng)大的工具和環(huán)境來(lái)幫助你進(jìn)行編程。本文將詳細(xì)
    的頭像 發(fā)表于 11-17 10:08 ?2314次閱讀

    怎樣在codeblocks上編寫程序

    在CodeBlocks上編寫程序是一項(xiàng)相對(duì)簡(jiǎn)單而又重要的任務(wù)。CodeBlocks是一個(gè)廣泛使用的集成開發(fā)環(huán)境(IDE),它能夠幫助程序編寫、編譯和運(yùn)行他們的代碼。在本篇文章中,我們將詳細(xì)介紹
    的頭像 發(fā)表于 11-26 09:26 ?2131次閱讀
    主站蜘蛛池模板: 亚洲一区二区三区高清 | 女同性大尺度床戏视频 | 美女被色| 免费观看国产网址你懂的 | 国产精品久久婷婷六月丁香 | 日韩卡1卡2卡三卡四卡二卡免 | 亚洲精品二区中文字幕 | 亚洲欧美精品成人久久91 | 国产伦精品一区二区三区在线观看 | 中文三级视频 | 亚洲一区二区三区麻豆 | 激情综合色综合久久综合 | 草草影院www色极品欧美 | 亚洲国产日韩精品怡红院 | 国模吧2021新入口 | 久久精彩免费视频 | 国产gav成人免费播放视频 | 欧美不卡视频在线观看 | 手机在线观看国产精选免费 | 午夜免费看片 | 国产性色视频 | 欧美一级免费看 | 婷婷资源综合 | 91aaa免费观看在线观看资源 | 生活片一级性 | 色色色色色色网 | 日韩一级片在线免费观看 | 天天干精品 | 婷婷婷色 | 亚洲偷图色综合色就色 | 四虎永久在线精品国产 | 三级网站在线免费观看 | 你懂的手机在线视频 | 欧美洲视频在线观看 | 天天干夜夜爱 | 亚洲国产一区二区三区在线观看 | 一级a级国产不卡毛片 | 久久久久女人精品毛片 | 中文字幕一精品亚洲无线一区 | 色多多在线观看视频 | 天天操天天插 |