• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::

論壇索引


Board index » All Posts (kimking)




Re: XC8在巨集定義中使用\來換行時,如何加入#asm ... #endasm?
#1
初級會員
初級會員


我在移植的韌體有很多巨集使用 _asm ... _endasm 結構,
除了逐行全部修改成 asm("..."); 有點費工之外,
有的巨集還包含其他巨集,
在asm("...");中需要額外使用___mkstr(巨集名)的方式去擴展。

才會把編譯器選項的C standard調為C90,
讓#asm ... #endasm結構可以繼續使用,
在巨集中卻會遇到問題無法編譯,
所以求助大家看是否能解決這個語法問題,
萬一不行只好用asm("...");慢慢搞。

感謝!

發表於: 2022/9/21 16:36
頂部


XC8在巨集定義中使用\來換行時,如何加入#asm ... #endasm?
#2
初級會員
初級會員


系統及軟體版本:Windows 7 32位元、MPLAB X IDE v5.20、XC8 v2.05。
我想把用C18編譯的韌體移植到XC8,
在巨集定義中使用\來換行時,
若有#asm ... #endasm就會出現編譯錯誤,

於是寫了一個小的測試程式,
在main.c中
unsigned char i = 30, j = 9, k = 1;

void main(void)
{
i = j + k;
#asm
movlw 0x64
#endasm
asm("movlw 0x32");
_BLOCK1()
_BLOCK2()
while(1);
}

在global.h中
extern unsigned char i, j, k;

#define _BLOCK1()\
i = ( j - k ) * 2;\
#asm\
movlw 0x19\
nop\
#endasm

#define _BLOCK2()\
i = ( j - k ) * 2;\
asm("movlw 0x19");\
asm("nop");


_BLOCK1()的部分編譯時會出問題,
個人猜測是\之後緊接著#asm或#endasm會無法辨識,
請問XC8在巨集定義中使用\來換行時,
如何加入#asm ... #endasm?
謝謝!

發表於: 2022/9/16 11:30
頂部


Re: 缺少C99/C90的切換選項
#3
初級會員
初級會員


回饋些使用狀況,
讓同樣還在跑32位元作業系統的人省點測試時間。

MPLAB X IDE v5.40要安裝時偵測到32位元作業系統會不給安裝,
MPLAB X IDE v5.35及MPLAB X IDE v5.30好像還需要另外弄DFP,
且看到MPLAB X IDE v5.35有一些人用起來不是很穩定,
後來決定安裝MPLAB X IDE v5.20,
搭配XC8 v2.05時無法編譯(XC8 v1.xx沒問題),
要到Tools →Options→Embedded→Build Tools頁面下,
將C Compiler及Assembler的路徑改為C:\Program Files\Microchip\xc8\v2.05\bin\xc8-cc.exe才能順利編譯。

感謝前面兩位大大的協助~

發表於: 2022/9/6 9:02
頂部


缺少C99/C90的切換選項
#4
初級會員
初級會員


系統及軟體版本:Windows 7 32位元、MPLAB X IDE v4.05、XC8 v2.05。
如附件所示XC8編譯器缺少C99 / C90的切換選項,
請問這是什麼原因呢?
感謝!

Attach file:



jpg  C99-C90.jpg (84.65 KB)
9988_630da3ef94698.jpg 915X597 px

發表於: 2022/8/30 13:49
頂部


Re: XC16編譯錯誤
#5
初級會員
初級會員


我是從FreeRTOS官網下載的,
https://www.freertos.org/a00104.html
官網的DEMO是使用MPLAB IDE及C30編譯器,
我想修改成使用MPLAB X IDE及XC16編譯器,
遇到那兩個不知如何修改的編譯錯誤。

用您提供的DEMO
https://github.com/MicrochipTech/freeRTOS-PIC24-dsPIC-PIC32MM
能順利編譯成功,
感謝協助~

發表於: 2022/3/18 11:32
頂部


XC16編譯錯誤
#6
初級會員
初級會員


大家好!

MCU:PIC24FJ128GA010
使用XC16編譯出現兩個錯誤一直無法解決,
想請教一下附件中的錯誤是什麼原因或該怎麼追查?
感謝!

Attach file:



jpg  Error.jpg (247.57 KB)
9988_6232cfbc740fc.jpg 1109X589 px

jpg  Error1.jpg (177.94 KB)
9988_6232cff343f44.jpg 1080X512 px

jpg  Error2.jpg (134.62 KB)
9988_6232d010717e5.jpg 1080X512 px

發表於: 2022/3/17 14:01
頂部


燒錄時EEPROM無法清除
初級會員
初級會員



發表於: 2016/3/18 15:28
頂部



(1) 2 3 4 »



:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------