2011-11-28 2 views
3

Я работаю над проектом, в котором мне нужно иметь возможность хранить значение EEPROM PIC, мне удалось заставить чтение работать, но до сих пор я не могу заставить PIC писать в память, используя Узел PIC. Это код, который я использовал, он получен из примера кода записи из листа данных, я использую PIC 16D630 и используя язык ассемблера PIC.Запись в EEPROM PIC?

MOVLW 0x02 
MOVWF EEADR 
MOVLW 0x01 
MOVWF EEDATA 
BSF STATUS,RP0 ;BANK 1 
BSF EECON1,WREN ;ENABLE WRITE 
BCF INTCON,GIE ;DISABLE INTS 
MOVLW 0x55 ;UNLOCK WRITE 
MOVWF EECON2 ; 
MOVLW 0xAA ; 
MOVWF EECON2 ; 
BSF EECON1,WR ;START THE WRITE 
BSF INTCON,GIE ;ENABLE INTS 
+0

может захотеть попробовать форумы микрочипов, если вы не получите отклик здесь ... здесь не так много конкретных встроенных отзывов, но иногда вам повезло –

+0

Спасибо Keith, однако поиск на форумах и PIClists ничего не показали мне :( –

+0

http://www.microchip.com/forums не забывайте об этом –

ответ

3

Установите соответствующий банк памяти до вашей программы нагрузки EEADR и EEDATA значения.

Использование «Часы» окно для контроля значений в регистрах EEADR и EEDATA при пошаговом (F7) по линии программ в режиме debbug!

BSF STATUS,RP0  ;Set BANK 1 first !!! 
MOVLW 0x02 
MOVWF EEADR 
MOVLW 0x01 
MOVWF EEDATA 

BSF EECON1,WREN ;ENABLE WRITE 
BCF INTCON,GIE ;DISABLE INTS 
MOVLW 0x55 ;UNLOCK WRITE 
MOVWF EECON2 ; 
MOVLW 0xAA ; 
MOVWF EECON2 ; 
BSF EECON1,WR ;START THE WRITE 
BSF INTCON,GIE ;ENABLE INTS 
0

Перед тем, как включить флаг записи WREN вы должны указать, намерены ли вы записать в память программы (флэш) или в ЭСППЗУ, установив/сбросив флаг EEPGD в EECON1.

Смежные вопросы