色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

5個使用帶有中斷的回調的技巧

PCB線路板打樣 ? 來源:LONG ? 2019-08-09 09:18 ? 次閱讀

回調是對更高級別軟件傳遞到函數的可執行代碼的引用。這些回調能夠極大地提高嵌入式軟件的可移植性和重用性,但是根據它們的定義,它們需要使用函數指針,如果不仔細使用,可能會非常危險。以下是在嵌入式系統中安全地創建和使用回調的五個技巧,特別是將它們與中斷一起使用。

技巧1 -創建集合或注冊方法- 回調是最常見的是將函數指針傳遞給函數,但它們也可以在便攜式系統中用于設置將由中斷服務例程(ISR)調用的函數。當中斷觸發時,中斷處理程序將包含對應該執行的函數的引用。為了以可重用的方式設置被調用的函數,創建允許回調函數向模塊注冊的接口會很有幫助。創建寄存器或集合函數允許ISR處理程序是通用的,封裝的,甚至可以編譯為外設庫的一部分。中斷的可執行函數將在運行時設置。

技巧2 -將回調初始化為NULL或默認- 創建包含回調寄存器或設置功能的外設驅動程序接口是創建可移植中斷的重要一步。但是有一個問題:如果回調永遠不會被注冊但是中斷變為啟用然后觸發會發生什么?中斷服務程序需要某種方式來判斷是否已注冊回調函數。提供此類驗證的最簡單方法是首先將回調函數指針初始化為NULL。在ISR中對NULL進行簡單檢查將阻止任何處理程序執行。使用NULL的另一種方法是初始化指向通用和空中斷處理程序的指針。當未初始化的中斷回調被觸發時,默認處理程序將運行。

技巧3 -使用前驗證回調- 將回調指針的初始值設置為NULL或通用處理程序允許中斷驗證中斷處理程序是組。但是,在使用函數指針時,首先要確認內存中引用的位置不是NULL并且確實存在于系統中是一個好主意。函數指針可能非常危險,在進行調用之前應注意確保指向的位置有效。

提示4 -使用回調向較低級別的固件添加功能- 回調函數對于在通用和應用程序中向較低級別驅動程序和應用程序代碼添加功能非常有用特定的方式。為了生成松散耦合且具有高內聚性的固件,開發人員可以通過使用回調將中斷向量和對其他外圍模塊的引用傳遞到驅動程序中。回調允許開發人員在設計時添加特定于應用程序的功能,而無需不斷修改驅動程序代碼以獲得所需的行為。可以通過這種方式使用回調來生成非常干凈,可移植且可重復使用的固件和接口。

提示5 -創建抽象回調函數- 回調函數通常需要采用參數數量未知,它們可能會也可能不會返回數據,具體取決于應用程序的需求。然而,開發人員的目標是編寫抽象的回調函數。對于與中斷相關的回調,其中回調只是作為中斷服務程序的一部分被調用,該函數可以獲取void參數并返回void。需要與應用程序共享的任何數據都將以與中斷相同的方式處理。對于可能與錯誤處理或其他自定義功能相關的驅動程序的回調,處理參數和返回值的最簡單方法是傳遞指針并返回指針。

最后的想法

回調可以在嵌入式系統中找到廣泛的用途,特別是在開發便攜式和可重復使用的固件時。本文提供了五個開發人員如何考慮和實現中斷回調的示例,但它們只是其中的一小部分。

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

    關注

    17

    文章

    2968

    瀏覽量

    21700
  • 華強PCB
    +關注

    關注

    8

    文章

    1831

    瀏覽量

    27749
  • 華強pcb線路板打樣

    關注

    5

    文章

    14629

    瀏覽量

    43036
收藏 人收藏

    評論

    相關推薦

    調函數小結

    調 作用: 方便層與層的隔離,方便系統功能的擴展,比如編寫一比較函數,通過調方法編寫,可以將應用層的比較函數實現無限制類型的數據比較,
    發表于 07-05 01:51

    調函數和中斷處理函數的關系

    結論看完本文,大家可能對調函數和中斷處理函數的關系產生了疑問。其實是這樣的,單片機每完成接收一字符,就會進入一次中斷處理函數,而在
    發表于 08-13 08:34

    如何確定中斷調函數的函數名

    問題有通用的解法。下面以ADC1為例,來查找它的中斷調函數。首先打開CubeMX生成的代碼,找到所有中斷函數入口的C文件首先需要編譯一下
    發表于 12-06 06:21

    怎么才能在中斷調函數里用延時呢?

    中斷調函數里不可以用 rt_thread_mdelay,怎么才能在調函數里用延時呢?
    發表于 04-20 09:32

    怎樣去解決外部中斷調函數執行錯誤的問題呢

    我想問個事,正在使用外部中斷。配置好引腳,綁定中斷調函數。一開始為了驗證編程正確,能進入調
    發表于 08-22 14:22

    詳解java 調機制

    代碼示例 接下來看一下調的代碼示例,代碼模擬的是這樣一種場景:老師問學生問題,學生思考完畢回答老師。 首先定義一調接口,只有一
    發表于 09-28 13:14 ?0次下載

    LabWindows/CVI 程序 調函數設計

    調函數是系統框架設計中非常重要的一種手段,所謂調函數(callback )是指一通過函數指針調用的函數。
    發表于 05-03 16:54 ?1.1w次閱讀
    LabWindows/CVI 程序 <b class='flag-5'>回</b><b class='flag-5'>調</b>函數設計

    調函數的詳細資料說明

    異步事件的處理,首先將異步事件發生時需要執行的代碼編寫成一函數,并將該函數注冊成為調函數,這樣當該異步事件發生時,系統會自動調用事先注冊好的調
    發表于 02-28 08:00 ?6次下載
    <b class='flag-5'>回</b><b class='flag-5'>調</b>函數的詳細資料說明

    STM32Cube HAL庫中斷處理機制 以及調函數實現原理

    STM32Cube HAL庫中斷處理機制,以及調函數實現原理
    的頭像 發表于 03-03 14:01 ?1.3w次閱讀

    C語言函數的調函數

    ,如果過后再執行,則稱之為異步調調函數就是一通過函數指針調用的函數。如果你把函數的指針(地址)作為參數傳遞給另一
    的頭像 發表于 09-11 09:57 ?4129次閱讀

    HAL庫中斷處理以及相關的調函數

    驅動的開發時間,把重心放在應用代碼上。 ? 但是,STM32CubeMX只是生成了底層驅動的初始化代碼。所以,我們還需要掌握:應用層代碼如何調用HAL庫函數(API接口),以及HAL庫中斷處理機制等相關知識。? HAL庫牽涉的內容較多,下面簡單描述一下HAL庫中斷處理,以
    的頭像 發表于 01-07 11:46 ?9453次閱讀
    HAL庫<b class='flag-5'>中斷</b>處理以及相關的<b class='flag-5'>回</b><b class='flag-5'>調</b>函數

    STM32編程時,如何確定中斷調函數的入口

    問題有通用的解法。下面以ADC1為例,來查找它的中斷調函數。首先打開CubeMX生成的代碼,找到所有中斷函數入口的C文件首先需要編譯一下
    發表于 11-23 18:06 ?13次下載
    STM32編程時,如何確定<b class='flag-5'>中斷</b><b class='flag-5'>回</b><b class='flag-5'>調</b>函數的入口

    根據調機制注冊事件并處理調VI

    通過事件調注冊函數(Register Event Callback)注冊一調VI,在事件發生時會運行該回
    的頭像 發表于 11-24 09:15 ?2278次閱讀

    C語言|調函數的不同用法

    調函數是高級操作技巧,也是日常項目中常常使用到的技能。之所以說調函數是高級操作技巧,是因
    發表于 07-10 10:34 ?1304次閱讀

    調函數(callback)是什么?調函數的實現方法

    調函數是一種特殊的函數,它作為參數傳遞給另一函數,并在被調用函數執行完畢后被調用。調函數通常用于事件處理、異步編程和處理各種操作系統和
    發表于 03-12 11:46 ?2909次閱讀
    主站蜘蛛池模板: 粗好大用力好深快点漫画| 亚洲无AV在线中文字幕| 欧美亚洲日韩国产在线在线| 久久免费国产| 久久久久国产精品嫩草影院| 九九黄色大片| 久久妇女高潮几次MBA| 久久99精品AV99果冻传媒| 精品久久综合1区2区3区激情| 国产亚洲精品久久久久久线投注| 国产精品美女久久久久浪潮AV | 免费果冻传媒在线完整观看 | 被老师按在办公桌吸奶头| 99福利视频| FREE乌克兰嫩交HD| 出轨的妻子在线观看| 草莓视频在线播放视频| 第四色男人天堂| 国产成人女人在线视频观看| 国产精品线路一线路二| 韩国伦理三级| 久久久无码精品亚洲A片猫咪| 久久这里只精品国产99re66| 免费国产福利| 热久久国产欧美一区二区精品| 日本无卡无吗在线| 午夜精品国产自在现线拍| 亚洲欧美在无码片一区二区| 一二三四视频免费社区5| 5G在线观看免费年龄确认18| BL全肉多攻NP高H| 国产精品亚洲精品久久国语| 近亲乱中文字幕| 免费精品国偷自产在线在线| 日本zljzljzlj精品| 小色哥影院| 2019天天射干网站| 不卡的在线AV网站| 国产亚洲精品成人a在线| 六级黄色片| 少妇被阴内射XXXB少妇BB|