|
|||||||||||
| 技術(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 |
AVR前后臺程序中,后臺寫EEPROM,會干擾前臺中斷,如何避免? |
| 作者:turboc 欄目:單片機(jī) |
AVR前后臺程序中,后臺寫EEPROM,會干擾前臺中斷,如何避免? |
| 2樓: | >>參與討論 |
| 作者: smmj 于 2006/3/26 10:02:00 發(fā)布:
我了想知道 |
|
| 3樓: | >>參與討論 |
| 作者: ylz_2005 于 2006/3/26 11:06:00 發(fā)布:
我的BOSS說:兩次對EEPROM寫入. |
|
| 4樓: | >>參與討論 |
| 作者: NE5532 于 2006/3/26 11:17:00 發(fā)布:
沒看懂樓主的題,前臺是什么,后臺是什么。 |
|
| 5樓: | >>參與討論 |
| 作者: hotpower 于 2006/3/26 11:50:00 發(fā)布:
在前臺寫EEPROM省心些 |
|
| 6樓: | >>參與討論 |
| 作者: dcp 于 2006/3/26 15:51:00 發(fā)布:
關(guān)注 * - 本貼最后修改時間:2006-4-10 12:15:20 修改者:dcp |
|
| 7樓: | >>參與討論 |
| 作者: erkin 于 2006/3/26 19:06:00 發(fā)布:
沒那么嚇人吧。 寫一次就可以了,基本上不會錯,不行就加校驗、加舉手表決。 |
|
| 8樓: | >>參與討論 |
| 作者: smmj 于 2006/3/26 19:54:00 發(fā)布:
如果前臺寫10個字節(jié),那么在寫EE時會干擾后臺的中斷顯示 |
|
| 9樓: | >>參與討論 |
| 作者: hotpower 于 2006/3/26 23:20:00 發(fā)布:
哈哈,人眼多快??? |
|
| 10樓: | >>參與討論 |
| 作者: coldra 于 2006/3/27 17:58:00 發(fā)布:
可能的話不要連續(xù)寫太多字節(jié) 讓它干一會,歇一會,喘口氣,讓中斷跑跑龍?zhí)?br> |
|
| 11樓: | >>參與討論 |
| 作者: yewuyi 于 2006/3/28 8:26:00 發(fā)布:
偶爾寫一次的話,也可考慮暫時關(guān)閉中斷的方式 如果自動不斷在寫的話,就按樓上幾位的方式好了。 |
|
| 12樓: | >>參與討論 |
| 作者: gwnpeter 于 2006/4/7 20:36:00 發(fā)布:
avr要求在寫入EEPROM的時候不能夠發(fā)生中斷,否則..... |
|
| 13樓: | >>參與討論 |
| 作者: smmj 于 2006/4/7 21:07:00 發(fā)布:
ICC里寫EEPROM時中數(shù)斷好象是關(guān)過的 |
|
| 14樓: | >>參與討論 |
| 作者: avr_king 于 2006/4/8 13:58:00 發(fā)布:
不需要在寫EEPROM的整個過程中關(guān)中斷 不需要在寫EEPROM的整個過程中關(guān)中斷 寫EEPROM時要保證在置1到EEMWE位后的4個時鐘周期內(nèi),寫邏輯1到EEWE位。其他時間是可以允許中斷的,ICC的庫函數(shù)做的不好。 //********************************************************************* // function to initiate an EEPROM write // writes the specified data byte to the specified location // this will fail if the EEPROM is not ready! void EEPROM_write(unsigned int uiAddress, unsigned CHAR ucData) { unsigned CHAR savedSREG; /* Wait for completion of previous write */ while(EECR & (1<<EEWE)) ; /* Set up address and data registers */ EEAR = uiAddress; // set address EEDR = ucData;// set data savedSREG = SREG;// KEEP setting so it can be restored CLI();// disable interrupts /* Write logical one to EEMWE */ EECR |= (1<<EEMWE);// set "write enable" bit /* Start EEPROM write by setting EEWE */ EECR |= (1<<EEWE);// set "write" bit SREG = savedSREG;// restore SREG EEAR = 0; } |
|
| 15樓: | >>參與討論 |
| 作者: slickedit 于 2006/4/9 8:45:00 發(fā)布:
最好還是在寫EEPROM的時候關(guān)閉中斷,避免出現(xiàn)問題! |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |