音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

PICC的局部變量參數(shù)傳遞問(wèn)題.

作者:openopen 欄目:單片機(jī)
PICC的局部變量參數(shù)傳遞問(wèn)題.

CHAR tran(CHAR xx)
{
     #asm    
     incf_xx
     movf_xx,w
     #endasm   
     return xx;
      
}

為什么 movf_xx,w 有錯(cuò)?編譯不過(guò).
去掉movf_xx,w   但xx 返回原值.




2樓: >>參與討論
openopen
寫錯(cuò)
以上寫錯(cuò)了,

CHAR tran(CHAR xx)
{
     #asm    
     incf_tran
     movf_tran,w
     #endasm   
     return xx;
      
}

為什么 movf_tran,w 有錯(cuò)?編譯不過(guò).
去掉movf_tran,w   但xx 返回原值.


3樓: >>參與討論
xilinxer
是不是 W 不認(rèn)識(shí)!誰(shuí)邊說(shuō)說(shuō)!
 
4樓: >>參與討論
openopen
no
如果 yy是全局變量
incf_yy
movf_yy,w  
編譯通過(guò). 返回yy值正確.


5樓: >>參與討論
eeproom
compiler,please.i can passed,are you?
/// TEST program
#include <pic.h>

CHAR tran(CHAR xx);

void main(void)
{
    CHAR dd;

    dd=tran(0x01);
    asm("\tnop");
    while(1){;}
}

CHAR tran(CHAR xx)
{
     #asm    
     incf_tran
     movf_tran,w
     #endasm   
     return xx;
      
}

6樓: >>參與討論
openopen
why?
原本用8.02 PL1


現(xiàn)用8.01 PL3 + MPLAB IDE V6.40編譯你的TEST program

錯(cuò)誤不一樣了!!
Executing: "C:\HT-PIC\BIN\PICC.EXE" -C -E"TEST2.cce" "TEST2.c" -O"TEST2.obj" -Q -MPLAB -16F84A
Error[000]  0 : Bad format for -P option
Halting build on first failure as requested.
BUILD FAILED: Wed Nov 26 16:03:32 2003

:WHY??  

7樓: >>參與討論
openopen
完了.PICC不能用了.


Deleting intermediary files... done.
Executing: "C:\HT-PIC\BIN\PICC.EXE" -C -E"test2.cce" "test2.c" -O"test2.obj" -Q -MPLAB -16C56
Halting build on first failure as requested.
BUILD FAILED: Wed Nov 26 17:19:14 2003

8樓: >>參與討論
eeproom
are you update your mplab ide under www.htsoft?
 (my pc can't turn to chinese at time) i passed be so:
Executing: "C:\HT-PIC\BIN\PICC.EXE" -C -E"c.cce" "c.c" -O"c.obj" -Q -MPLAB -16F84A -X -ASMLIST -PRE -PROTO -S -W9
Executing: "C:\HT-PIC\bin\picc.exe" -E"ee.lde" "C:\HTSOFT\PIC18\study\new\c.obj" -Q -MPLAB -16F84A -LF -O"ee.cof" -O"ee.hex"

MEMORY Usage Map:

Program ROM   $0000 - $0005  $0006 (     6) words
Program ROM   $03F4 - $03FF  $000C (    12) words
                             $0012 (    18) words total Program ROM

Bank 0 RAM    $000C - $000D  $0002 (     2) bytes total Bank 0 RAM  


Program statistics:

Total ROM used       18 words (1.8%)
Total RAM used        2 bytes (2.9%)

Loaded C:\HTSOFT\PIC18\study\new\ee.cof
BUILD SUCCEEDED: Wed Nov 26 17:30:29 2003



* - 本貼最后修改時(shí)間:2003-11-26 17:40:30 修改者:eeproom

9樓: >>參與討論
openopen
搞定了!
終于找到解決方法了:
/// TEST program
#include <pic.h>

CHAR tran(CHAR xx);
CHAR tran(CHAR xx)
{
        #asm
        GLOBAL ?_tran
        
        movwf ?_tran     ;W -->>?_tran
        incf ?_tran
        incf ?_tran
        movf ?_tran,w    ;?_tran-->> W
        #endasm
        return xx;
}

void main(void)
{
    TRISB=0;
    PORTB=tran(0x01);  
    asm("\tnop");
    while(1){;}
}

因?yàn)橛肳做參數(shù)傳遞故
movwf ?_tran
movf ?_tran,w
不能省.

!!! eeproom兄
incf_tran

incf和_tran 之間本應(yīng)要加空隔的,因?yàn)槲以瓫](méi)通過(guò),故意連的.
我想PICC把它看作標(biāo)號(hào)了吧?你的仿真結(jié)果對(duì)??

    


10樓: >>參與討論
openopen
RE:
如果局部變量參數(shù)傳遞的是多個(gè)CHAR,int.
返回一個(gè)int 或int 或 LONG 不知何去何從??

希望大俠跟貼,教教我這樣的beginner.

11樓: >>參與討論
eeproom
建議讓編譯器生成asm文件再研究。
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
哪位用過(guò)IAR C-PIC 的C編譯器,我想請(qǐng)教。
急!!誰(shuí)是英語(yǔ)高手,幫我翻譯一下(有關(guān)于IAR PIC C編譯器)
icd2 能燒dsPIC30系列嗎? dsPIC30的開(kāi)發(fā)工具,硬件,軟件?
時(shí)間算法良方!有興趣者請(qǐng)進(jìn)。
在CCSC中#fuses INTRC_IO有什么作用
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)