操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    上一篇中介紹了UART的收發數據操作,那些操作都是基于外設庫的,而不是采用的動態驅動,也沒有采用狀態機的機制。本篇就來介紹一下如何使用的動態驅動和狀態機來編寫程序。其實狀態機是挺簡單的,就是事先定義好可能發生的哪些狀態,然后主循環里根據不同的狀態進行不同的處理,這個在項目中也是比較常用的方法。

    注意的驅動對象都需要有一個Open動作來創建一個,后續所有操作都是用來代表這個驅動對象。所有動態驅動的中斷都是采用注冊回調函數的方式來使用,無需到中添加,也無需自己清除中斷標識,驅動已經自己完成了。

    另外要注意的一點是,串口接收一個字節后進入了中斷,如果不使用Read接收一下,那么后續就再也無法進入中斷,就會出現僅中斷一次的現象,因此,也不要在中斷中進行耗時操作,避免沒有及時接收數據,導致數據殘缺不全。

    c語言 事件驅動狀態機_二維碼驅動 c語言_c語言寫驅動

    先在app.h文件中定義狀態機和UART要使用的相關變量結構體,使用結構體也是滿方便的。

    在app.c中編寫應用程序c語言 事件驅動狀態機,包含頭文件之后,初始化函數編寫,這里的初始化不是底層的初始化,而是初始化UART的相關變量,并創建句柄。第一步要(open一個客戶端),然后判斷創建的客戶端時候有效,有效的話,就創建中斷回調函數c語言 事件驅動狀態機,中斷程序的內容直接在回調函數里編寫就可以了。

    c語言 事件驅動狀態機_c語言寫驅動_二維碼驅動 c語言

    編寫中斷回調函數內容程序,收到一個數據后存儲到數據緩沖區,并置位接收完成標志位

    二維碼驅動 c語言_c語言 事件驅動狀態機_c語言寫驅動

    發送數據的函數,發送采用查詢方式

    編寫()函數,狀態里就在這里處理,初始化狀態時進行初始化,然后進入接收數據狀態,接收到數據后回發,并在OLED上顯示接收到的字節數。

    二維碼驅動 c語言_c語言 事件驅動狀態機_c語言寫驅動

    在()中循環調用(),以處理接收到的數據。

    c語言 事件驅動狀態機_c語言寫驅動_二維碼驅動 c語言

    編譯,下載程序到開發板,打開串口軟件測試

    OLED顯示效果

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有