欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

MPLAB XC8編譯器出現(xiàn)“fixup”錯(cuò)誤怎么辦

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

問(wèn):怎么來(lái)改正“fixup”錯(cuò)誤?

答:這里假定你已經(jīng)知道如何來(lái)定位導(dǎo)致fixup錯(cuò)誤的代碼位置。如果不清楚,請(qǐng)參看前面的問(wèn)答“怎么來(lái)定位"Fixup error"信息?”。

Fixup錯(cuò)誤通常是發(fā)生在PICC編譯器轉(zhuǎn)換兩個(gè)不同bank指針類型時(shí)。在大多數(shù)的場(chǎng)合,這個(gè)錯(cuò)誤是發(fā)生在傳遞一個(gè)bank指針給某一個(gè)只接受其他bank指針的函數(shù),或者是分配一個(gè)bank指針給另外一個(gè)bank的指針。

要修正這個(gè)錯(cuò)誤,你需要改變函數(shù)的聲明,或者用bankx限定符來(lái)改變指針使它成為正確的指針類型。

要注意的是'const'指針可以訪問(wèn)所有的bank但是它不能被寫(xiě)入。還有,在PIC中檔單片機(jī)里,bank0指針式是可以指向bank1數(shù)據(jù)的,它并不會(huì)產(chǎn)生fixup錯(cuò)誤,反之亦然(譯者注:因?yàn)镻ICC的指針操作是會(huì)采用FSR,F(xiàn)SR是8位的,它可以指向兩個(gè)bank的數(shù)據(jù))。同樣地,bank2指針可以指向bank3而沒(méi)有fixup錯(cuò)誤,反之亦然。但是bank0或bank1指針就不能夠指向bank2或bank3了(譯者注:bank2和bank3的指針是大于8位的)。

下面是一個(gè)在指針?lè)峙渖蠒?huì)產(chǎn)生fixup錯(cuò)誤的示例:

bank2 char value; //變量在bank2里

char * ptr; //變量在bank0里

//const char * ptr; //可能的解決方法

void

func(char * param) //使用一個(gè)bank0指針作為參數(shù)

//func(bank2 char * param) //可能的解決方法

{

*param = 7;

}

int

main()

{

//下面會(huì)產(chǎn)生一個(gè)fixup錯(cuò)誤,因?yàn)閭鬟fbank2指針給了函數(shù)

//而這個(gè)函數(shù)只接受bank0指針

func(&value);

//下面也會(huì)產(chǎn)生一個(gè)fixup錯(cuò)誤,因?yàn)榘岩粋€(gè)bank2指針給bank0指針賦值

//兩個(gè)指針的寬度是不一樣的

ptr = &value;

}

還有一些fixup錯(cuò)誤是因?yàn)?extern'聲明和實(shí)際的聲明不匹配而產(chǎn)生的。例如在'lib.c'里聲明了一個(gè)全局變量:

//lib.c

bank3 char var;

//end lib.c

如果extern的聲明像下面的話,就會(huì)產(chǎn)生一個(gè)fixup錯(cuò)誤:

//lib.c

extern char var;

//正確的應(yīng)該是: extern bank3 char var;

//end lib.c

一個(gè)好的習(xí)慣是把所有的'extern'聲明以及函數(shù)的原型放到頭文件里。然后#include這個(gè)頭文件到需要聲明該變量的文件中去,還有需要使用該變量的文件中去。這可以讓編譯器能夠找出類型聲明的不匹配。

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

    關(guān)注

    1

    文章

    1642

    瀏覽量

    49311
  • MPLAB
    +關(guān)注

    關(guān)注

    9

    文章

    217

    瀏覽量

    67035
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

    我已經(jīng)用帶有MPLAB X IDE v3.15(和v3.25)的高科技v9.83編譯器編寫(xiě)了一個(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)特性。該編譯器編譯過(guò)程不同于傳統(tǒng)的編譯器,采用
    的頭像 發(fā)表于 05-23 12:47 ?6156次閱讀
    <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編譯器的移植過(guò)程詳細(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入門(mén)教程之啟動(dòng)指南資料免費(fèi)下載

    本文檔為剛開(kā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次下載

    PIC16F877A 創(chuàng)建工程 (MPLAB X IDE @XC8)

    個(gè)軟件都默認(rèn)安裝; 在MPLAB X IDE 中添加XC8編譯器(如果已經(jīng)存在,則不用修改);3.創(chuàng)建工程注:時(shí)鐘源根據(jù) 自己的開(kāi)發(fā)板選擇(芯片內(nèi)部沒(méi)有時(shí)鐘源,外部一定要有時(shí)鐘電路,不然調(diào)試會(huì)
    發(fā)表于 11-16 17:51 ?9次下載
    PIC16F877A 創(chuàng)建工程 (<b class='flag-5'>MPLAB</b> X IDE @<b class='flag-5'>XC8</b>)

    PIC MCC配置與XC8編譯器問(wèn)題

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

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

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

    適用于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>用戶指南