找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2000|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

Keil5里面報(bào)錯(cuò) WARNING L15:MULTIPLE CALL TO SEGMENT

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:982529 發(fā)表于 2021-11-23 21:31 來自手機(jī) | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
Keil5里面報(bào)錯(cuò) WARNING  L15:MULTIPLE  CALL  TO  SEGMENT,那位大佬指點(diǎn)一下

2021-11-23_21.31.18.jpg (771.9 KB, 下載次數(shù): 20)

2021-11-23_21.31.18.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:96682 發(fā)表于 2021-11-23 21:41 來自手機(jī) | 只看該作者
用屏幕截圖比這清晰多了
回復(fù)

使用道具 舉報(bào)

板凳
ID:624769 發(fā)表于 2021-11-23 21:42 | 只看該作者
重復(fù)調(diào)用,

原則上,中斷和主程序是不能調(diào)用同一個(gè)函數(shù)的。
回復(fù)

使用道具 舉報(bào)

地板
ID:982529 發(fā)表于 2021-11-23 21:49 來自手機(jī) | 只看該作者
188610329 發(fā)表于 2021-11-23 21:42
重復(fù)調(diào)用,

原則上,中斷和主程序是不能調(diào)用同一個(gè)函數(shù)的。

能說一下怎么解決嗎?提供一下大至方向,謝謝
回復(fù)

使用道具 舉報(bào)

5#
ID:624769 發(fā)表于 2021-11-23 22:01 | 只看該作者
wssbwssb 發(fā)表于 2021-11-23 21:49
能說一下怎么解決嗎?提供一下大至方向,謝謝

最好是更改邏輯,只在一個(gè)地方調(diào)用,
實(shí)在必須都要調(diào)用的話……
再做一個(gè)內(nèi)容完全一樣,但是名字不同的函數(shù),分別給中斷和主程序調(diào)用。
回復(fù)

使用道具 舉報(bào)

6#
ID:592807 發(fā)表于 2021-11-24 09:32 | 只看該作者
wssbwssb 發(fā)表于 2021-11-23 21:49
能說一下怎么解決嗎?提供一下大至方向,謝謝

錯(cuò)誤做法:中斷調(diào)用A,A里面調(diào)用B,主函數(shù)調(diào)用B。
正確做法:主函數(shù)調(diào)用B,中斷函數(shù)里面打標(biāo)志Flag=1,主函數(shù)里面Flag = 1,就調(diào)用函數(shù)B同時(shí)Flag =0
第一個(gè)做法之所以錯(cuò)誤,就是如果主函數(shù)調(diào)用了函數(shù)A,中斷通過B函數(shù)調(diào)用A,那么中斷調(diào)用會(huì)改變A函數(shù)的狀態(tài)。

打個(gè)比B函數(shù)是你進(jìn)入房間->開水龍頭->洗手->關(guān)水龍頭->用紙巾擦手->拿起手機(jī)->開門->離開
如果你用主函數(shù)走到   ”開水龍”   這一步然后被中斷打斷了。
中斷進(jìn)來  “關(guān)水龍頭”   、  “拿走手機(jī)”然后離開
主函數(shù)回到 “開水龍頭”這一步但是水龍頭在中斷那里已經(jīng)被關(guān)了(寄存器被改變了),你還能洗手嗎?手機(jī)也被拿走了(全局變量改變了)你還能拿走手機(jī)嗎?
回復(fù)

使用道具 舉報(bào)

7#
ID:824490 發(fā)表于 2021-11-24 09:42 | 只看該作者
函數(shù)被連續(xù)嵌套調(diào)用了。


回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表