音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 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

碰到了一個怪問題,百思不得其解啊!大家進(jìn)來看看!

作者:yupingwen 欄目:單片機(jī)
碰到了一個怪問題,百思不得其解。〈蠹疫M(jìn)來看看!
    我把8051的外部數(shù)據(jù)空間擴(kuò)充了一下,用LX51命令如下:
    BankArea (0x008000, 0x00FFFF)
    WARNINGLEVEL (0)
    CLASSES (XDATA (X:0x0-X:0x7FFF), CODE (C:0x0-C:0x7FFF),
    HDATA (X:0x028000-X:0x02FFFF, X:0x038000-X:0x03FFFF, X:0x048000-           X:0x04FFFF,X:0x058000-X:0x05FFFF,
           X:0x068000-X:0x06FFFF, X:0x078000-X:0x07FFFF,
           X:0x088000-X:0x08FFFF) ,
    HCONST (B1:0x8000-B1:0xFFFF, B2:0x8000-B2:0xFFFF, B3:0x8000-            B3:0xFFFF,B4:0x8000-B4:0xFFFF,
            B5:0x8000-B5:0xFFFF, B6:0x8000-B6:0xFFFF,
            B7:0x8000-B7:0xFFFF))
并在工程中添加了L51_BANK.A51。
我定義了幾個大數(shù)組分別如下:
    extern unsigned CHAR far large_array1[0x8000] _at_ 0x78000;
    extern unsigned CHAR far large_array2[0x8000] _at_ 0x28000;
    extern unsigned CHAR far large_array3[0x8000] _at_ 0x38000;

然后在以下的程序中對數(shù)組分量賦值:
    while(1)
  {
    for (i = 0; i < 1000; i++)  {
    large_array1[i] = (unsigned CHAR) i+0x80;
    large_carray1[i]=0x81;
    large_carray2[i] = (unsigned CHAR) i+0x80;    }

  在debug的時候發(fā)現(xiàn)在對large_array1賦值的時候進(jìn)行了組切換,
但是對large_array2和large_array3賦值的時候被切換到large_array1那一組了,即沒有對R3進(jìn)行新的賦值。
  如果我把large_array2定義前的extern去掉,則又切換對了。
  如果我把變量定義時的extern全部去掉,則又不對了。
  為什么。
  

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
C51中斷小問題求教
那位有ti430單片機(jī)IAR的破解版?
程序空間不夠用P89C669代替W78E516B請問在KEIL設(shè)置做什么修改
調(diào)查:大家都來發(fā)言,看看能否可行?
多定時器
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入


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