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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取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

    文章

    2977

    瀏覽量

    22424
  • 華強PCB
    +關注

    關注

    8

    文章

    1831

    瀏覽量

    28507
  • 華強pcb線路板打樣

    關注

    5

    文章

    14629

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    為什么中斷調函數中不能使用接收中斷開啟函數?

    我看(書是基于stm32f407編寫)書上說在串口接收中斷調函數里面不能使用 接收中斷開啟函數,書上是利用自己創建了空閑中斷
    發表于 05-28 07:19

    調函數小結

    調 作用: 方便層與層的隔離,方便系統功能的擴展,比如編寫一比較函數,通過調方法編寫,可以將應用層的比較函數實現無限制類型的數據比較,
    發表于 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次下載

    調函數的詳細資料說明

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

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

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

    C語言函數的調函數

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

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

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

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

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

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

    調函數是一種特殊的函數,它作為參數傳遞給另一函數,并在被調用函數執行完畢后被調用。調函數通常用于事件處理、異步編程和處理各種操作系統和
    發表于 03-12 11:46 ?3905次閱讀
    主站蜘蛛池模板: 九色PORNY真实丨国产免费 | 亚洲视频第二页 | 欧美黑人经典片免费观看 | 亚洲阿v天堂在线2017 | 精品在线观看一区 | 亚洲精品国产专区91在线 | 小妇人电影免费完整观看2021 | 国产又黄又粗又爽又色的视频软件 | 91国内精品久久久久免费影院 | 日本精品久久久久中文字幕2 | 欧美怡红院视频一区二区三区 | 欧美ZC0O人与善交的最新章节 | xxx69欧美| 亚洲一区在线观看无码欧美 | 2019香蕉在线观看直播视频 | 久热久热精品在线观看 | 日本乱子人伦在线视频 | 亚洲欧美日韩另类精品一区二区三区 | 欧美人与禽ZOZO性伦交视频 | 蜜桃TV成人网站免费打开 | 女子叉开腿让男子桶免费软件 | 老色69久久九九精品高潮 | 富婆夜店找黑人猛男BD在线 | 午夜向日葵视频在线观看 | 久久国产亚洲精品AV麻豆 | 在线免费观看日本 | 国产偷窥盗摄一区二区 | 精品欧美一区二区三区四区 | 亚洲欧洲免费三级网站 | 影音先锋xfplay影院av | 动漫美女被到爽了流 | 麻豆国产精品久久人妻 | 羞羞麻豆国产精品1区2区3区 | 高中生高潮抽搐喷出白浆视频 | 国产永久视频 | 人妻超级精品碰碰在线97视频 | 无遮掩H黄纯肉动漫在线观看星 | 日本一卡2卡3卡四卡精品网站 | 99久久re6热精品首页 | 日本zljzljzlj精品 | 在线中文字幕视频 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品