Есть ли программисты микроконтроллера PIC здесь?Запись на EEPROM на PIC
Я изучаю программирование микроконтроллера PIC, используя чип pickit2 и 16F690, которые поставляются вместе с ним. В настоящий момент я работаю над различными объектами. Я могу успешно читать байт из EEPROM в коде, если я устанавливаю EEPROM vaklue в MPLAB, но я, кажется, не могу изменить значение, используя сам ПОС. Просто ничего не происходит, и я не читаю измененное значение, я всегда получаю оригинал, который подразумевает, что запись не работает?
Это мой код для этого раздела, я что-то упускаю? Я знаю, что у меня много ненужных банковских коммутаторов, я добавил большинство из них, чтобы убедиться, что оказаться в неправильном банке не проблема.
; ------------------------------------------------------
; Now SET the EEPROM location ZERO to 0x08
; ------------------------------------------------------
BANKSEL EEADR
CLRF EEADR ; Set EE Address to zero
BANKSEL EEDAT
MOVLW 0x08 ; Store the value 0x08 in the EEPROM
MOVWF EEDAT
BANKSEL EECON1
BSF EECON1, WREN ; Enable writes to the EEPROM
BANKSEL EECON2
MOVLW 0x55 ; Do the thing we have to do so
MOVWF EECON2 ; that writes can work
MOVLW 0xAA
MOVWF EECON2
BANKSEL EECON1
BSF EECON1, WR ; And finally perform the write
WAIT
BTFSC EECON1, WR ; Wait for write to finish
GOTO WAIT
BANKSEL PORTC ; Just to make sure we are on the right bank
Я очищаю EEPGD в предыдущем коде, который успешно читается из EEPROM и забыл сделать это снова здесь, но он все равно должен быть установлен на 0. На всякий случай я добавил, и он все еще не работает. Есть ли что-нибудь, что мне нужно установить в моих контрольных флагах или что-то в этом роде, которое я, возможно, пропустил, чтобы разрешить писать? – jcoder
И да, я все еще участвую, и пока я еще не изучил прерывания, это и таймеры в моем списке. – jcoder
Принял этот ответ, потому что он правильный и указывает на небольшую ошибку в моем коде. У меня есть это для работы, удалив ненужные высказывания. Кажется, что в середине последовательности программирования фактически прекращается ее работа – jcoder