那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MPLAB XC8編譯器得到錯(cuò)誤function什么意思

麥辣雞腿堡 ? 來(lái)源:Microchip微芯 ? 作者:Microchip微芯 ? 2023-01-22 14:49 ? 次閱讀

問:我得到一個(gè)錯(cuò)誤:“function * appears in multiple call graphs: rooted at *”,這是什么意思?

答:它意味著有一個(gè)函數(shù)既在中斷里調(diào)用了又在主函數(shù)中調(diào)用了,而編譯器是不支持重入的。因?yàn)楹瘮?shù)是不能重入的,所以它基于在兩個(gè)地方同時(shí)調(diào)用的可能性而報(bào)這個(gè)錯(cuò)誤。有幾種辦法可以繞開這個(gè)問題:

1. 如果ROM空間允許的話,可以把這個(gè)函數(shù)復(fù)制一份并另取一個(gè)不一樣的名稱。一個(gè)給中斷調(diào)用,另一個(gè)給主函數(shù)調(diào)用。

2. 重寫這個(gè)函數(shù),讓它不帶參數(shù)并且沒有局部變量。如果函數(shù)沒有參數(shù)和局部變量,那么它將可以被中斷和主函數(shù)同時(shí)調(diào)用。

3. 如果你能夠保證這個(gè)函數(shù)一定不會(huì)同時(shí)被調(diào)用,那么你可以使用#pragma interrupt_level 偽指令。這個(gè)指令在使用說(shuō)明書里已經(jīng)詳細(xì)說(shuō)明了,這里簡(jiǎn)單介紹如下:

#pragma interrupt_level 1
void common_func(void)
{
/* local variable definitions */

/* code */
}

#pragma interrupt_level 1
void interrupt isr(void)
{
common_func();
/* more code */
}


void main(void)
{
common_func(); /* 在中斷使能之前被調(diào)用 */
EI(); /* 使能中斷 */
/* more code */

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編碼器
    +關(guān)注

    關(guān)注

    45

    文章

    3667

    瀏覽量

    135235
  • MPLAB
    +關(guān)注

    關(guān)注

    9

    文章

    217

    瀏覽量

    67019
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    XC8編譯器8位PIC MCU兼容嗎?

    我有幾個(gè)較老的項(xiàng)目與8位PIC MCU,這是編譯與舊的高科技C編譯器(V963)在MPLAB 8環(huán)境下?,F(xiàn)在我想遷移到
    發(fā)表于 03-15 13:07

    怎么在兼容模式下使用XC8編譯器

    你好,我想在兼容模式下使用XC8編譯器。但是我不知道我該怎么做。在微芯片C18到XC8遷移指南中,他們說(shuō)我必須這樣做:使用兼容性模式,你只需要遵循以下步驟:在MPLAB IDE1中打開
    發(fā)表于 05-09 11:20

    XC8編譯器中的eeprom_read/write宏出現(xiàn)問題

    我已經(jīng)用帶有MPLAB X IDE v3.15(和v3.25)的高科技v9.83編譯器編寫了一個(gè)程序,并且我想用MPLAB X IDE v3.25將它傳輸?shù)?b class='flag-5'>XC8
    發(fā)表于 09-30 08:57

    MPLAB XC8 C編譯器是否可以屏蔽/禁用有關(guān)pitch的咨詢報(bào)告?

    微芯片MPLAB XC8 C編譯器(標(biāo)準(zhǔn)模式)V1.41構(gòu)建日期:2017年1月24日部分支持版本:1.41版權(quán)(C)2017微芯片技術(shù)公司。許可類型:節(jié)點(diǎn)配置::警告:(1458)標(biāo)準(zhǔn)
    發(fā)表于 04-22 10:02

    MPLAB XC編譯器免費(fèi)下載

    MPLAB XC編譯器免費(fèi)下載
    發(fā)表于 11-23 16:07 ?58次下載

    MPLAB? XC8 C編譯器的架構(gòu)特性

    本視頻介紹了MPLAB? XC8 C編譯器的架構(gòu)特性。該編譯器編譯過程不同于傳統(tǒng)的編譯器,采用
    的頭像 發(fā)表于 05-23 12:47 ?6145次閱讀
    <b class='flag-5'>MPLAB</b>? <b class='flag-5'>XC8</b> C<b class='flag-5'>編譯器</b>的架構(gòu)特性

    MPLAB C18編譯器MPLAB XC8 C編譯器的移植過程詳細(xì)中文資料概述

    本文檔概述了從針對(duì)PIC18 MCU的MPLAB? C編譯器(以前的說(shuō)法,本文中稱為MPLAB C18)到MPLAB XC8 C
    發(fā)表于 06-29 11:25 ?47次下載

    MPLAB XC8 C編譯器的用戶指南詳細(xì)中文資料概述免費(fèi)下載

     MPLAB XC8 C 編譯器是一種獨(dú)立式的優(yōu)化 ISO C90 (通常稱為 ANSI C)編譯器。它支持所有 8 位 PIC? 單片機(jī):
    發(fā)表于 06-11 17:28 ?348次下載
    <b class='flag-5'>MPLAB</b> <b class='flag-5'>XC8</b> C<b class='flag-5'>編譯器</b>的用戶指南詳細(xì)中文資料概述免費(fèi)下載

    如何將C源代碼從MPLAB C18編譯器移植到MPLAB XC8C編譯器的詳細(xì)概述

    本文檔介紹了針對(duì)PIC18 MCU的MPLAB? C編譯器(以前的說(shuō)法,本文檔稱為MPLAB C18)與MPLAB XC8 C
    發(fā)表于 06-07 09:28 ?30次下載
    如何將C源代碼從<b class='flag-5'>MPLAB</b> C18<b class='flag-5'>編譯器</b>移植到<b class='flag-5'>MPLAB</b> <b class='flag-5'>XC8</b>C<b class='flag-5'>編譯器</b>的詳細(xì)概述

    MPLAB XC8入門教程之啟動(dòng)指南資料免費(fèi)下載

    本文檔為剛開始使用MPLABXC8 C編譯器的程序員提供了一個(gè)起點(diǎn),特別是那些不熟悉嵌入式編程或微芯片設(shè)備的程序員。
    發(fā)表于 12-28 16:02 ?44次下載

    MPLAB C18到MPLAB XC8的移植概述

    本文檔概述了從針對(duì)PIC18 MCU的MPLAB? C編譯器 (以前的說(shuō)法,本文中稱為MPLAB C18)到MPLAB XC8 C
    發(fā)表于 05-12 17:12 ?26次下載

    PIC MCC配置與XC8編譯器問題

    2021年11月6日MCC版本過高,低版本的XC8編譯器會(huì)導(dǎo)致警告?。代碼能夠編譯通過,但是在實(shí)際執(zhí)行中會(huì)導(dǎo)致MCC配置的代碼出現(xiàn)問題,導(dǎo)致不能達(dá)到MCC配置預(yù)設(shè)的效果。例如:在用較高版本的MCC
    發(fā)表于 11-16 20:06 ?12次下載
    PIC MCC配置與<b class='flag-5'>XC8</b><b class='flag-5'>編譯器</b>問題

    MPLAB XC8 PIC匯編的簡(jiǎn)單介紹

    本指南介紹并說(shuō)明了可使用適用于中檔和PIC18 器件系列的 MPLAB XC8 PIC 匯編(PIC 匯編)編譯的示例匯編程序。本文檔中
    的頭像 發(fā)表于 04-02 16:09 ?5028次閱讀

    適用于AVR MCU的MPLAB XC8 C編譯器用戶指南

    電子發(fā)燒友網(wǎng)站提供《適用于AVR MCU的MPLAB XC8 C編譯器用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 15:47 ?3次下載
    適用于AVR MCU的<b class='flag-5'>MPLAB</b> <b class='flag-5'>XC8</b> C<b class='flag-5'>編譯器</b>用戶指南

    適用于PIC MCU的MPLAB XC8 C編譯器用戶指南

    電子發(fā)燒友網(wǎng)站提供《適用于PIC MCU的MPLAB XC8 C編譯器用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-22 16:45 ?0次下載
    適用于PIC MCU的<b class='flag-5'>MPLAB</b> <b class='flag-5'>XC8</b> C<b class='flag-5'>編譯器</b>用戶指南
    德州扑克 在线| 新葡京官网| 马牌百家乐官网的玩法技巧和规则 | A8百家乐官网娱乐| 元游视频棋牌游戏| 百家乐老是输| 百家乐官网棋牌游戏币| 大发888投注| 金百家乐网站| 贝博百家乐官网的玩法技巧和规则 | 百家乐玩法秘诀| 澳门百家乐官网文章| A8百家乐官网的玩法技巧和规则 | 百家乐娱乐官网| 百家乐客户端LV| 玩百家乐官网的玩法技巧和规则| 大发888娱乐场 下载| 反赌百家乐官网的玩法技巧和规则 | 蓝盾百家乐官网赌城| 百家乐官网技术下载| 百家乐网页游戏| 百家乐官网77scs官网| 百家乐官网21点| kk娱乐城开户| 模拟百家乐下| 百家乐有公式| 易球百家乐官网娱乐城| 百家乐官网看不到视频| 利记娱乐| 网上百家乐官网的玩法技巧和规则| 百家乐官网群121398015| 百家乐官网技巧娱乐博彩| 真人百家乐游戏软件| 艮山坤向 24山| 玩百家乐官网输澳门百家乐官网现场| 蜀都棋牌游戏| 威尼斯人娱乐城安全吗| 百家乐是多少个庄闲| 棋牌百家乐怎么玩| 莫斯科百家乐官网的玩法技巧和规则| 榆次百家乐官网的玩法技巧和规则 |