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

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

請教:HT_PICC傳遞指針問題

作者:黃果樹 欄目:單片機(jī)
請教:HT_PICC傳遞指針問題
由于pic的RAM分bank,我初學(xué)hitech的picc,對picc指針的使用不是很清楚
各位大俠能否講解一下,謝謝!

#define    uCHAR    unsigned CHAR

static volatile uCHAR    AAA[10];
static volatile    bank1 uCHAR    BBB[10];
static volatile    bank2 uCHAR    CCC[10];
static volatile    bank3 uCHAR    DDD[10];

void    ppp(uCHAR *P)
{
    .......
}

void    main(void)
{
    uCHAR *p0;
    bank1 uCHAR *p1;    //bank1 uCHAR * bank1 p1 ;如果這樣定義再傳遞呢?
    bank2 uCHAR *p2;    //bank2 uCHAR * bank2 p1 ;
    bank3 uCHAR *p3;    //bank3 uCHAR * bank3 p1 ;
    p0=&AAA[0];
    p1=&BBB[0];
    p2=&CCC[0];
    p3=&DDD[0];
    PPP(p0);    //分別傳遞指向不同bank的指針可以嗎?
    PPP(p1);    
    PPP(p2);
    PPP(p3);
}

2樓: >>參與討論
張明峰
PICC的指針
在PICC中一個指針可以覆蓋兩個bank的RAM空間,故在PICC中按bank分的話指針有兩類:一類是無需bank修飾符(可以用bank1修飾符)的指針定義,它管bank0和bank1;另一類是帶bank2修飾符的(或bank3修飾符),它管bank2和bank3。

在函數(shù)原型聲明中必須十分明確地把指針類型表達(dá)清楚,PICC在編譯時將作嚴(yán)格的指針匹配檢查。你的示范代碼中p0/p1實(shí)際是一回事,傳給函數(shù)PPP時沒有問題,因?yàn)镻PP函數(shù)在定義時已經(jīng)明確只接受指向bank0/bank1的指針;p2和p3將無法傳給函數(shù)PPP,因?yàn)閮煞N指針類型不匹配。

你必須再寫一個函數(shù),代碼可以和PPP一樣但名字不同,傳遞的參數(shù)指明為bank2/bank3類型的指針,例如:

void PPP_23(bank2 uchar *ptr);

在main中才可以:
PPP_23(p2);
PPP_23(p3);


3樓: >>參與討論
黃果樹
謝謝張教主!
這個問題我已經(jīng)弄清楚了,只是郁悶為什么picc不弄一個能傳遞irp位的指針

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
求救pic17c42a用那款帶 flash的帶替開發(fā)好???
請教!ADCON1、TRISE、TRISA等寄存器的相關(guān)說明?
pic愛好則,交個朋友。QQ:195428983
請教高手:pic寫24lc01b的問題
想學(xué)編程
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號