娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年01月23日(星期四)

正在發生

2021年01月23日 | 宏定義“中斷函數接口”的注意事項

發布者:chaohuangmeitao 來源: eefocus關鍵字:宏定義  注意事項 手機看文章 掃描二維碼
隨時隨地手機看文章

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來說,為了移植方便,使用宏定義三個中斷函數,如下圖:

圖片


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


關鍵字:宏定義  注意事項 引用地址:宏定義“中斷函數接口”的注意事項

上一篇:關于STM32時鐘配置的那些坑
下一篇:STM32看門狗和復位IC同時存在的注意事項

推薦閱讀

AI在中國的火爆程度已經不言而喻,如今,一家阿里投資的中國AI“獨角獸”也被傳上市。有消息稱,曠視科技Face++在2017年11月獲得了4.6億美元的投資,由國有資本風險投資基金、螞蟻金服和富士康等戰略投資。該媒體獲得的材料顯示,這家公司目前的估值為14.6億美元,預計將在2019年第一季度上市。針對上市消息,全天候科技向曠視科技求證,對方拒絕置評。曠...
17 家行業領袖企業共同簽署,旨在加強業界生態合作,推動世界經濟增長 是德科技宣布公司與其他 17 家行業合作伙伴達成協議,旨在通過加速 5G 研究和商用來加強業界生態合作并推動世界經濟增長。是德科技是一家領先的技術公司,致力于幫助企業、服務提供商和政府客戶加速創新,創造一個安全互聯的世界。 這份由 UNISOC(紫光展銳,一家領先的無廠半導體企業...
準備:開發軟件:IAR for stm8 固件庫:STSW_STM8069_STM8S和STM8A標準外設固件庫實驗步驟1.下載IAR for stm8 ,當進入到IAR官網時(點擊上方IAR for stm8鏈接),顯示界面大概如下:把網頁拖到最下面看到下圖,點擊 download a free trial 將會拉出一個下載按鍵,這個顯示的IAR版本是最新的。本人目前看到的版本為3.10。下載完成后,根據以往...
1月22日晚間,長電科技發布2020年業績預告:該年度實現歸屬于上市公司股東的凈利潤為123,000萬元左右,同比增長1,287.27%左右。此外,扣除非經常性損益后,預計公司2020年年度實現歸屬于上市公司股東的凈利潤為92,000萬元左右;上年同期扣除非經常性損益后歸屬于上市公司股東的凈利潤為-79,284.49萬元。對于業績的增長,據其表示:報告期內,公司積極把握...

史海拾趣

問答坊 | AI 解惑

尋cp2102驅動

定制CP2102的windows驅動程序 CP2102 是Silicon公司的USB轉UART的芯片,UART端支持所有modem接口信號,波特率最高可以達到1Mbits,內部有576Byte 的接收緩沖區和640Byte的發送緩沖區。 硬件電路方面,所需要元件少之又少,僅需兩個104的瓷片 ...…

查看全部問答∨

產品試用報告

誰有產品使用報告格式了??…

查看全部問答∨

7塊PSP主板所見證的破解歷史

PSP發售至今,其內部也經歷了數次更新換代,由最初的TA-79的主板到現在最新的TA88主板,在破解的玩家眼中每款都有著鮮明的“個性”;這每一塊主版的出現,都伴隨這一段段PSP的破解歷史。現在就讓我來帶大家看看至今7款PSP主板。 TA-79   &n ...…

查看全部問答∨

mobisys無線視頻監控技術及應用

mobisys無線視頻監控技術及應用…

查看全部問答∨

怎么樣將控件設置成半透明啊??

我想把PictureBox設置成半透明狀,不知道在WinCE下,是不是可以?? 我用的是vb.net!! 謝謝大家了!!!…

查看全部問答∨

遇到個電源電路,請教高手幫忙分析一下

圖1有兩個地方我沒明白:1.N203B運放的作用,我測得N203B 7腳電壓為2.5V,不知道怎么算出來,這個運放的接法我沒遇到過。2.從我的觀點看N202A基本上是一個跟隨器,但正如問題1中所說,N203B的7腳是2.5V,那么N202A的1腳也應為2.5V,而我實際測得1腳 ...…

查看全部問答∨

單片機與pc機通信

我用cvavr編寫單片機與pc機通信的程序,編譯的時候總是報錯 undefined symbol \'blt\' undefined symbol \'amt\' undefined symbol \'cli\' undefined symbol \'sei\' 請高手幫助 …

查看全部問答∨

新人報到 too,望各位多多關照。

扒拉了半天,終于找到了組織的根據地。。。…

查看全部問答∨

大家建議是DIY一塊149還是5438的430板子?

我趨向于DIY5438的片子,畢竟現在是TI力推的新核心,板子資源如下: 1、包含USB接口的BSL下載器,提供下載代碼用但是BSL不能仿真 2、SPI的93C46存儲器 3、3個串口或TTL 4、1路RS485 5、RTC時鐘芯片DS1302 6、溫度采集18B20 7、1路AD采集 8 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 综艺| 龙口市| 南陵县| 柳河县| 辽阳市| 资源县| 浦东新区| 安远县| 阜康市| 获嘉县| 修文县| 达拉特旗| 平顶山市| 旬阳县| 阿图什市| 梨树县| 福安市| 临湘市| 乐至县| 子洲县| 丰宁| 永安市| 上蔡县| 梓潼县| 南郑县| 图木舒克市| 榆树市| 徐汇区| 金寨县| 开平市| 水富县| 黔西县| 望谟县| 平原县| 余姚市| 清徐县| 凉山| 工布江达县| 辉县市| 石景山区| 西盟|