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

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

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

3天內不再提示

宏定義 “中斷函數接口”的注意事項

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-07 16:42 ? 次閱讀

今天周六,寫點輕松一點的內容,相信很多朋友都有使用宏定義的經歷。宏定義寫得好,你的代碼修改、調試、移植等都方便;相反,寫的不好,可能你的頭腦會炸掉。

1問題來源

我前面移植一部分代碼,忽略了一些細節問題,直接測試,一有數據(正常應該是進入中斷),程序就掛了,進入了“B .”處,如下圖:

這代表什么意思呢?網上一搜B .的意思就知道,程序運行到這個地方,在這里死循環了。

2問題跟蹤,并解決

遇到上面問題,于是我就開始了在線調試查找問題。果然,在線調試一眼就看出了問題,中斷函數體沒有被觸發,先看下圖:

看上圖,經常調試的人就知道,前面沒有灰色的標記代表程序不會運行到這個位置。

上面那個DEBUG_COM_IRQHandler函數,我使用的是宏定義:

那么,問題來了,我使用了宏定義中斷函數接口,為什么沒有進入中斷函數?

問題就出在宏定義和被定義函數體的包含關系,簡單說就是:stm32f4xx_it.c文件里面應該添加#include "bsp_usart.h"這行代碼。

不添加包含宏定義的文件,編譯時就會把DEBUG_COM_IRQHandler當做成一個普通函數,也不會出錯。此時,中斷函數其實是沒有定義的,那么,程序運行中斷函數時,沒有定義函數體,自然就會跳轉到B .處去。

解決的辦法就如上所說:stm32f4xx_it.c文件添加添加#include "bsp_usart.h"即可。

3總結

針對以上問題,拓展并總結幾點內容:

1.宏定義注意事項

宏定義與源代碼最好要高度一致,就拿USART時鐘的宏定義來說,如下這種方式就容易出錯。

宏定義:

#define DEBUG_COM_CLK RCC_APB2Periph_USART1

調用方式:

RCC_APB2PeriphClockCmd(DEBUG_COM_CLK, ENABLE);

假如我修改時鐘:

RCC_APB2Periph_USART1改為RCC_APB1Periph_USART2

發現問題沒有:

APB2和APB1混亂調用了。

2.B .含義

這里提出來,是讓有些初學者順便了解一下(其實網上一搜就明白)。這是一個匯編指令,“B”代表不返回的跳轉,比如跳到某個標號處。“.”是指定當前的地址,B .這條指令,其實就是死循環。

3.在線調試代碼覆蓋

經常有朋友問題:我在線調試,為什么有些地方不能打斷點?處理需要配置輸出調試信息之外,就是這里說的代碼覆蓋問題。

看見我上面有兩個中斷函數那張圖沒有,里面我有文字說明:前面有灰色標記的代碼,代表程序可執行(已覆蓋)。相反,則沒有被覆蓋。

4.中斷函數接口宏定義

一般很多初學者不知道函數接口可以使用宏定義。其實,有很多地方,包括一些標準的代碼都有用到使用宏定義函數接口。拿我們比較熟悉的FreeRTOS來說,為了移植方便,使用宏定義三個中斷函數,如下圖:

這里需要注意的就如上面分析的,包含關系需加上。

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

    關注

    96

    文章

    2948

    瀏覽量

    67211
  • USART
    +關注

    關注

    1

    文章

    198

    瀏覽量

    31188
  • 宏定義
    +關注

    關注

    0

    文章

    51

    瀏覽量

    9083
收藏 人收藏

    評論

    相關推薦

    智多晶DDR Controller使用注意事項

    最后一期我們主要介紹智多晶DDR Controller使用時的注意事項
    的頭像 發表于 01-24 11:14 ?345次閱讀
    智多晶DDR Controller使用<b class='flag-5'>注意事項</b>

    多層板埋孔設計注意事項

    多層板埋孔設計注意事項
    的頭像 發表于 12-20 16:06 ?430次閱讀

    PCBA生產注意事項

    ? ?PCBA生產注意事項。 長按識別二維碼關注[現代電子裝聯工藝技術]訂閱號,開啟我們共同的學習之旅 end
    的頭像 發表于 11-15 17:04 ?596次閱讀
    PCBA生產<b class='flag-5'>注意事項</b>

    如何為住宅配置靜態IP:步驟與注意事項

    為住宅配置靜態IP地址,通常涉及以下步驟和注意事項
    的頭像 發表于 10-24 08:02 ?499次閱讀

    使用USB接口注意事項

    USB接口作為現代電子設備中最為常見的接口之一,因其便捷性和通用性而廣受用戶歡迎。然而,為了確保USB接口及其連接設備的安全、穩定和高效運行,用戶在使用時需要注意一系列
    的頭像 發表于 09-30 14:13 ?1338次閱讀

    脈沖式充電器的使用注意事項

    脈沖式充電器的使用注意事項主要包括以下幾個方面: 一、安全注意事項 用電安全 :在充電過程中,應始終保持警惕,注意用電安全,避免觸電和短路等危險情況的發生。 防火防災 :避免在易燃易爆物品附近進行
    的頭像 發表于 09-26 16:05 ?1591次閱讀

    繞線電感定制的注意事項

    電子發燒友網站提供《繞線電感定制的注意事項.docx》資料免費下載
    發表于 09-20 11:24 ?0次下載

    共模電感定制的注意事項

    電子發燒友網站提供《共模電感定制的注意事項.docx》資料免費下載
    發表于 09-04 11:47 ?0次下載

    LiFePO4設計注意事項

    電子發燒友網站提供《LiFePO4設計注意事項.pdf》資料免費下載
    發表于 09-03 09:24 ?0次下載
    LiFePO4設計<b class='flag-5'>注意事項</b>

    人機接口電感式觸摸按鈕的設計注意事項

    電子發燒友網站提供《人機接口電感式觸摸按鈕的設計注意事項.pdf》資料免費下載
    發表于 08-30 09:30 ?2次下載
    人機<b class='flag-5'>接口</b>電感式觸摸按鈕的設計<b class='flag-5'>注意事項</b>

    24芯M16接口加工注意事項

     德索工程師說道在加工24芯M16接口時,為確保接口的質量、性能和可靠性,需要嚴格遵循一系列注意事項。以下是對這些注意事項的詳細闡述:   金屬針腳:采用優質黃銅或銅合金材料,確
    的頭像 發表于 06-24 16:58 ?452次閱讀
    24芯M16<b class='flag-5'>接口</b>加工<b class='flag-5'>注意事項</b>

    現場總線的使用方法與注意事項

    的穩定可靠運行,正確的使用方法和注意事項至關重要。本文將詳細介紹現場總線的使用方法和注意事項,以供讀者參考。
    的頭像 發表于 06-06 11:49 ?979次閱讀

    FPGA的高速接口應用注意事項

    FPGA的高速接口應用注意事項主要包括以下幾個方面: 信號完整性與電磁兼容性(EMC) : 在設計FPGA高速接口時,必須充分考慮信號完整性和電磁兼容性。這要求合理的PCB布局、走線策略和屏蔽技術
    發表于 05-27 16:02

    函數發生器的使用方法和注意事項

    函數發生器,作為電子測試和測量領域的重要工具,廣泛應用于生產測試、儀器維修、實驗室研究以及通訊等多個科技領域。它的主要功能是產生各種波形、頻率和幅度的信號,以滿足不同的測試需求。本文將詳細介紹函數發生器的使用方法及注意事項,以幫
    的頭像 發表于 05-15 11:44 ?2300次閱讀

    FMD LINK 使用注意事項

    電子發燒友網站提供《FMD LINK 使用注意事項.pdf》資料免費下載
    發表于 05-06 10:11 ?0次下載
    主站蜘蛛池模板: 亚洲 欧美 中文 日韩 另类 | 在线成人精品国产区免费 | 国语自产精品一区在线视频观看 | 精品国产手机视频在在线 | 高hh乱亲女真实 | 亚洲国产中文字幕在线视频综合 | 午夜精品久久久内射近拍高清 | 夜色视频社区 | 天美传媒果冻传媒入口视频 | 乌克兰肛交影视 | 果冻传媒在线播放 免费观看 | 黄色a级免费网站 | 中文字幕不卡一区二区三区 | 中文无码熟妇人妻AV在线 | 精品亚洲国产成AV人片传媒 | 精品国产5g影院天天爽 | 久久精品国产亚洲AV麻豆欧美玲 | 蜜臀AV精品久久无码99 | 伊人免费在线 | 国产免费久久精品国产传媒 | 日本精品在线观看视频 | 久久久国产精品免费A片3D | 国产精自产拍久久久久久蜜 | 日本午夜视频在线 | ping色堂 | 东热rq大乱交 | 99热在线视频这里只精品 | 国产精品视频第一区二区三区 | 日本乱子伦一区二区三区 | 欧美最猛黑人AAAAA片 | 男人舔女人的阴部黄色骚虎视频 | 久久AV亚洲精品一区无码网 | fryee性欧美18 19 | 亚洲国产中文字幕在线视频综合 | 无人区大片中文字幕在线 | 天堂Av亚洲欧美日韩国产综合 | 97午夜理论片影院在线播放 | 给个男人都懂的网址2019 | yw193龙物免费官网在线 | 暖暖 免费 高清 日本 在线 | 东北女人奶大毛多水多 |