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

RAM數(shù)據(jù)存儲(chǔ)變亂的問題

作者:流金歲月 欄目:技術(shù)交流
RAM數(shù)據(jù)存儲(chǔ)變亂的問題
我用的外部RAM是HY6264,現(xiàn)在我發(fā)現(xiàn)上電初始化好的數(shù)據(jù)在運(yùn)行一段時(shí)間之后就會(huì)變亂了,期間只是對(duì)它讀的過程,沒有寫的過程!這是什么原因?大家?guī)臀遗袛嗯袛嗄!謝謝了

2樓: >>參與討論
HIGHWAY
如果電源正常,附近沒有強(qiáng)干擾,那肯定是你寫數(shù)據(jù)進(jìn)去了
亂的有規(guī)律嗎?可以分區(qū)進(jìn)行測(cè)試

3樓: >>參與討論
流金歲月
請(qǐng)問HIGHWAY,如何測(cè)試呢?
你好,能告訴我一個(gè)測(cè)試方法嗎?我用的是6264,它的大小應(yīng)該是8192個(gè)RAM,我現(xiàn)在用了7854個(gè),是不是數(shù)據(jù)太大的原因?

4樓: >>參與討論
yadog
re
hoho
先確定下是不個(gè)別問題
要不然花大氣力不值得啊

5樓: >>參與討論
HIGHWAY
用滿了也不會(huì)有問題,另外要注意,片選地址空間不要重疊
你的地址范圍應(yīng)該是唯一的,從什么范圍到什么范圍?
自檢的方法有很多,如果不是存儲(chǔ)重要數(shù)據(jù)的話,采用簡(jiǎn)單的寫1,寫0再讀回判斷
如果是為判斷問題所在的話,請(qǐng)?jiān)敿?xì)描述你的情況
可在寫入數(shù)據(jù)后,讀回比較等

6樓: >>參與討論
平常人
用示波器看一下WR信號(hào)是否有脈沖,可以很容易判斷是否有寫操作
 
7樓: >>參與討論
流金歲月
我的初始化程序是這樣的
rama ramb都是外部變量,涉及參數(shù)也都是外部變量!期間只是讀這些數(shù)據(jù),不對(duì)其更改,但是讀的時(shí)候就是有錯(cuò)的時(shí)候,然后重新上電就會(huì)再次恢復(fù)初始值
if((rama!=0xaa)||(ramb!=0xbb))
    {        
            
        round=0;
        Umax_time[0]=0;Umax_time[1]=0;Umax_time[2]=0;
        Umin_time[0]=0;Umin_time[1]=0;Umin_time[2]=0;
        U_time[0]=0;U_time[1]=0;U_time[2]=0;
        bianbi_u=1;bianbi_i=1;
        rama=0xaa;
        ramb=0xbb;    
        upday=0;    
             upday=0x1004010;    //典型日上傳時(shí)間天upday         
        uploadday=0x01;
        uploadhour=0x03;    //上傳時(shí)間時(shí)uphour
        uploadmin=0x35;        //上傳時(shí)間分upmin
        everyday=0;
        pth=0x01;        //pt=1
        ptl=0x00;          //ptl
        cth=0;             //ct=1
        ctl=0x01;          //ctl        
        minuh=0x19;        //minUh        
        minul=0x80;        //minUl----198v
        maxuh=0x23;        //maxUh        
        maxul=0x54;        //MaxUl-----235.4v        
        maxi=0x50;        //MaxI  5.0A    
        Um=220.0;    
        city=0x3505;        //市編碼,BCD碼表示
        terminal=132;        //終端地址,范圍0-65536
        //term=0;            //組地址,暫定為0    
        RTCDisableWP();
        RTCSetYear(0x06);
        RTCSetMonth(0x10);
        RTCSetDay(0x12);
        RTCSetHour(0x09);
        RTCSetMin(0x45);
        RTCSetSec(0x00);
        RTCEnableWP();    
        real_ONLINE=0x55;//不實(shí)時(shí)在線,0xaa,實(shí)時(shí)在線    
        SEND_ATE[0]='A';SEND_ATE[1]='T';SEND_ATE[2]='E';SEND_ATE[3]='0';
        SEND_ATE[4]='V';SEND_ATE[5]='1';SEND_ATE[6]=0x0d;SEND_ATE[7]=0x0a;SEND_ATE[8]=0;    
        
        SEND_MIPCALL[0] ='A'; SEND_MIPCALL[1] ='T'; SEND_MIPCALL[2] ='+';SEND_MIPCALL[3] ='M';
        SEND_MIPCALL[4] ='I'; SEND_MIPCALL[5] ='P'; SEND_MIPCALL[6] ='C';SEND_MIPCALL[7] ='A';
        SEND_MIPCALL[8] ='L'; SEND_MIPCALL[9] ='L'; SEND_MIPCALL[10]='=';SEND_MIPCALL[11]='1';
        SEND_MIPCALL[12]=','; SEND_MIPCALL[13]='"'; SEND_MIPCALL[14]='C';SEND_MIPCALL[15]='M';
        SEND_MIPCALL[16]='N'; SEND_MIPCALL[17]='E'; SEND_MIPCALL[18]='T';SEND_MIPCALL[19]='"';
        SEND_MIPCALL[20]=0x0d;SEND_MIPCALL[21]=0x0a;SEND_MIPCALL[22] =0; SEND_MIPCALL[23]=0;
        SEND_MIPCALL[24]=0;   SEND_MIPCALL[25]=0;   SEND_MIPCALL[26] =0; SEND_MIPCALL[27]=0;
        SEND_MIPCALL[28]=0;   SEND_MIPCALL[29]=0;   SEND_MIPCALL[30] =0; SEND_MIPCALL[31]=0;
        SEND_MIPCALL[33]=0;
        
        SEND_MIPOPEN[0] ='A'; SEND_MIPOPEN[1] ='T';SEND_MIPOPEN[2] ='+';SEND_MIPOPEN[3] ='M';//AT+MIPOPEN=1,1027,"058.222.252.146",06000,0
        SEND_MIPOPEN[4] ='I'; SEND_MIPOPEN[5] ='P';SEND_MIPOPEN[6] ='O';SEND_MIPOPEN[7] ='P';//    IPOP
        SEND_MIPOPEN[8] ='E'; SEND_MIPOPEN[9] ='N';SEND_MIPOPEN[10]='=';SEND_MIPOPEN[11]='1';//           EN=1
        SEND_MIPOPEN[12]=','; SEND_MIPOPEN[13]='1';SEND_MIPOPEN[14]='0';SEND_MIPOPEN[15]='2';//           ,102
        SEND_MIPOPEN[16]='7'; SEND_MIPOPEN[17]=',';SEND_MIPOPEN[18]='"';SEND_MIPOPEN[19]='0';//                7,"0
        SEND_MIPOPEN[20]='5'; SEND_MIPOPEN[21]='8';SEND_MIPOPEN[22]='.';SEND_MIPOPEN[23]='2';//               58.2
        SEND_MIPOPEN[24]='2'; SEND_MIPOPEN[25]='2';SEND_MIPOPEN[26]='.';SEND_MIPOPEN[27]='2';//                   22.2
        SEND_MIPOPEN[28]='5'; SEND_MIPOPEN[29]='2';SEND_MIPOPEN[30]='.';SEND_MIPOPEN[31]='1';//                   52.1
        SEND_MIPOPEN[32]='4'; SEND_MIPOPEN[33]='6';SEND_MIPOPEN[34]='"';SEND_MIPOPEN[35]=',';//                       46",
        SEND_MIPOPEN[36]='0'; SEND_MIPOPEN[37]='8';SEND_MIPOPEN[38]='2';SEND_MIPOPEN[39]='0';//        
8樓: >>參與討論
流金歲月
有沒有人幫我解析一下,我的錯(cuò)誤所在呀!
 
9樓: >>參與討論
PandaFeng
是否棧開得不夠大
某個(gè)處理入棧的時(shí)候把數(shù)據(jù)沖了.

10樓: >>參與討論
流金歲月
請(qǐng)問PandaFeng兄,我的程序沒有開sp棧!
請(qǐng)問PandaFeng兄,我的程序沒有開sp棧!是不是默認(rèn)就可以了!還是再大點(diǎn),
默認(rèn)sp=80H!

11樓: >>參與討論
PandaFeng
如果是片內(nèi)的棧,應(yīng)該也沒問題。
只能慢慢跟蹤。
用 HIGHWAY 的方法確保硬件沒問題。
看看被修改后的數(shù)據(jù)有什么特征。

另外你上面的程序可以寫得更簡(jiǎn)潔一些。

12樓: >>參與討論
流金歲月
只有極個(gè)別被修改!
只有極個(gè)別被修改!但是只要有錯(cuò)就會(huì)造成大錯(cuò),因?yàn)槲椰F(xiàn)上面的程序是負(fù)責(zé)通信用的!只要一個(gè)錯(cuò)將會(huì)造成通信無法進(jìn)行!
我用到data區(qū) 和idata區(qū)共計(jì)166個(gè)字節(jié) 現(xiàn)在我把SP=0xc0,可以吧!
現(xiàn)在我用的嵌套比較多!堆棧會(huì)溢出嗎?
現(xiàn)在我得程序已經(jīng)達(dá)到61Kb了

13樓: >>參與討論
流金歲月
我測(cè)試下來堆棧是編譯時(shí)默認(rèn)的
我測(cè)試下來堆棧是編譯時(shí)默認(rèn)的,我的data區(qū)和idata區(qū)是175時(shí),SP=0xb5,
當(dāng)data區(qū)和idata區(qū)是146時(shí),sp=0xa2,所以不可能時(shí)堆棧溢出造成的吧!因?yàn)槲椰F(xiàn)在有100個(gè)裝置,大部分可以,小部分不可以!

14樓: >>參與討論
流金歲月
我得部分原理圖,
大家參考一下我得圖,138是作為片選地址
000  選6264
001  選AD高8位
010  選AD低8位
011  選其他245
100  選4號(hào)245

15樓: >>參與討論
PandaFeng
re
如果 rama,ramb 定義在外部存儲(chǔ)器,堆棧問題就先別管了。

"有100個(gè)裝置,大部分可以,小部分不可以"
如果是這樣,硬件出問題的可能性較大。

另外,rama,ramb 的定義前再定義一個(gè)數(shù)組.如:

CHAR test_buff[16];
CHAR rama,ramb;

main()
{
...
   rama = xx;
   ramb = yy;
   memset(test_buff,0xaa,16);
...
}
看看test_buff的內(nèi)容有沒有被修改?


16樓: >>參與討論
PandaFeng
補(bǔ)充
棧會(huì)不會(huì)溢出,除了編譯器幫你算外,還要自己估算.
如,中斷有沒有嵌套,有沒有遞歸函數(shù)等.
至于棧的大小與程序大小沒有必然的關(guān)系,1k的代碼可以耗掉1M的內(nèi)存。

另外,變量是可以被隱式修改。如memcpy,strcpy等函數(shù)如果發(fā)生越界,
也會(huì)出現(xiàn)你所說的現(xiàn)象。
上面加test_buff的理由就是針對(duì)這個(gè)問題.(你說rama,ramb發(fā)生了改變,是嗎?)
還有,最好以程序框架為基礎(chǔ),逐步加入代碼進(jìn)行測(cè)試,以縮小問題的范圍。


17樓: >>參與討論
流金歲月
程序運(yùn)行過程中會(huì)改變初始化的數(shù)據(jù)????
我在初始化過程當(dāng)中定義數(shù)組AT+MIPPUSH[]="AT+MIPPUSH=1/r"
但是程序執(zhí)行while(1)的過程中就會(huì)改變AT+MIPPUSH[]的組合變?yōu)锳T+MIPPUSH[]="AT+MIPPUS@=1"
這是什么原因?????

18樓: >>參與討論
流金歲月
奇怪的亂碼
偶爾是AT+MIPPUS@=1
偶爾是AT+MIPPUS?=1
反正是這一位上出錯(cuò)!怪事?

19樓: >>參與討論
PandaFeng
re
改變一下它的內(nèi)存位置試試。
比如:
原來定義:
CHAR SEND_MIPPUSH[yy];
CHAR SEND_MIPOPEN[xx];
...
CHAR SEND_DIALNUMBER[zz];

改為:
CHAR SEND_DIALNUMBER[zz];
...
CHAR SEND_MIPOPEN[xx];
CHAR SEND_MIPPUSH[yy];
如果結(jié)果與原來現(xiàn)象相同,說明有別的地方引用了這個(gè)數(shù)組名。


參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
有個(gè)程序需要修改,是游戲機(jī)上面的,
7809為什么發(fā)熱?
請(qǐng)問是否有1.2V或1.5V下能夠工作的PLD
2X15W數(shù)字音頻功率放大卡!開賣了!!!
ic 管腳二極管保護(hù)特性
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


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