|
|||||||||||
| 技術(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 |
關(guān)于程序頁面0和頁面1,造成程序亂跳!請教張工和各位高手! |
| 作者:張澤 欄目:單片機(jī) |
我把寫好的程序(在BANK0運(yùn)行正常的子程序),移到BANK1后,程序就亂跳了, 1.我懷疑是堆棧溢出,但又不知怎樣檢測,堆棧是否溢出? 2.我懷疑是中斷引起的,但有時又需要開啟中斷,不知怎樣處理? 3.還有個問題,有時我開啟了中斷的,但程序有時卻不能進(jìn)入斷! 4.如何檢測,程序是否會跑飛? 我用的是E2000/L偉幅仿真器!CPU選型為PIC16C74,OSC=4M. |
| 2樓: | >>參與討論 |
| 作者: sosomj 于 2003/1/17 8:17:00 發(fā)布:
單步仔細(xì)觀察!看看在跳轉(zhuǎn)的地方是否有跨page操作的 如果有,就加上page選擇。 |
|
| 3樓: | >>參與討論 |
| 作者: 張澤 于 2003/1/17 21:14:00 發(fā)布:
頁面檢查 我進(jìn)行了單步運(yùn)行,我發(fā)現(xiàn)可能是中斷造成的堆棧溢出! 我在BANK0調(diào)用了BANK1的子程序;遇到中斷后,就出現(xiàn)了亂跳! 原來我用的SRAM是SD2000B(含時鐘芯片),但讀寫不正常!有時讀寫順利,有時又不正常!特別是連續(xù)讀寫!后來我不用SD2000B的SRAM了,改用了24LC01;但我在BANK1頁面里進(jìn)行了IIC芯片2401的連續(xù)讀寫;還是有時讀寫正常!有時又不正常!如果單字節(jié)的讀寫;就沒有問題!并且連寫的單字節(jié)讀寫也正常(即每讀/寫一個字節(jié),都發(fā)送一次芯片地址;和EEPRAM字節(jié)儲存地址)。我要如何解決這個問題? |
|
| 4樓: | >>參與討論 |
| 作者: LUWEIJYDT 于 2003/1/20 16:08:00 發(fā)布:
看時序!! 讀寫EEPROM最好不要超過100K,寫有10MS延遲. 不要用偉福的仿真器太爛!! |
|
| 5樓: | >>參與討論 |
| 作者: 張澤 于 2003/1/25 0:08:00 發(fā)布:
寫入時序 是連續(xù)寫入數(shù)1據(jù)后的寫周期,或是單獨(dú)寫入1個字節(jié)后的數(shù)據(jù)都需要等待10MS。時間好象沒有那么長? |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |