|
|||||||||||
| 技術(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 |
29LV160 FLASH MEMORY 快速擦寫 |
| 作者:sdenff 欄目:單片機(jī) |
我用單片機(jī)控制29lv160寫,一個(gè)字節(jié)一個(gè)字節(jié)的寫,非常的慢, 哪位大哥知道,怎么才可以快速的寫,按塊怎么寫? 我用的是MX牌子的 |
| 2樓: | >>參與討論 |
| 作者: dong 于 2005/1/8 10:35:00 發(fā)布:
只能一個(gè)字節(jié)一個(gè)字節(jié)的寫。 擦才可以按塊。 |
|
| 3樓: | >>參與討論 |
| 作者: sdenff 于 2005/1/8 11:56:00 發(fā)布:
好慢啊 很慢啊 要是整片寫大概會(huì)用去半個(gè)小時(shí) 有沒(méi)有可代替的,能快速寫的 |
|
| 4樓: | >>參與討論 |
| 作者: dong 于 2005/1/8 21:45:00 發(fā)布:
我用的是49bv162a,整片也就1分鐘不到。 也是逐個(gè)字節(jié)寫的,那些0xff可以跳過(guò)不用寫。29lv160我也用過(guò),速度也差不多。 |
|
| 5樓: | >>參與討論 |
| 作者: sdenff 于 2005/1/10 8:11:00 發(fā)布:
你怎么寫的?! dong: 我寫幾K字節(jié)都要好幾分鐘,你是怎么寫的?可以貼一下嗎? |
|
| 6樓: | >>參與討論 |
| 作者: dong 于 2005/1/10 10:07:00 發(fā)布:
我也是抄別人的,改了一點(diǎn)。 for (i=0 ; i<size; i++,srcPtr++,targetPtr++) { if(*srcPtr==0xff)continue; retry=0; RETRY_1: loop_count=0; DV_WriteFlash(COM_ADDR[0],FLASH_UNLOCK1); DV_WriteFlash(COM_ADDR[1],FLASH_UNLOCK2); DV_WriteFlash(COM_ADDR[0],FLASH_PROGRAM); DV_WriteFlash(targetPtr,*srcPtr); do { TEMP= *(volatile CHAR*)targetPtr; TEMP2=*(volatile CHAR*)targetPtr; if ((TEMP==TEMP2) && (TEMP==*srcPtr)) { break; } if (++loop_count>WRITETIMEOUT) { if(++retry <2)goto RETRY_1; write_error = -1; /* 1 second, Timeout */ break; } }while(1); } |
|
| 7樓: | >>參與討論 |
| 作者: sdenff 于 2005/1/10 10:56:00 發(fā)布:
參詳參詳 謝謝啊 |
|
| 8樓: | >>參與討論 |
| 作者: sdenff 于 2005/1/10 11:03:00 發(fā)布:
貪得無(wú)厭點(diǎn) 能否方便把著個(gè)涵熟貼一下:DV_WriteFlash() |
|
| 9樓: | >>參與討論 |
| 作者: dong 于 2005/1/10 11:20:00 發(fā)布:
這是個(gè)宏 #define DV_WriteFlash(addr, data) (*(volatile unsigned CHAR *)(addr) ) = (data) |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |