Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
10.12.2009, 17:43
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
|
Re: Помогите EEPROM PIC18F452
Не могу настаивать, для 18F на асемблере ничего не делал. Однако ясно написано "EECON2 is not a physical register. Reading EECON2 will read all '0's." Не верится, что MPLAB неточно воспроизводит поведене кристалла. Однако проверить еще раз не мешает
Удачи!
PS Загрузил Ваш проект в MPLAB. Без особых изменений. Работает. Хотя надо внимательно проверить почему. В железе может не так будет.
Тупо объясняю почему квакаю. В провереном проекте именно на 18F452 один из чипов начал терять EEPROM. Через день, или три. Ищу причину. Тупо чип некачественый. Не впервой. Очень редко, да попадаются. Или я напутал ? 100% рабочих плат в моих условиях требовать неразумно. Много факторов кожуру бананов под подметки бросают. Да выяснить что да как надо !
__________________
Мыслю, следовательно существую
Последний раз редактировалось Popeye; 10.12.2009 в 22:30.
|
|
|
|
11.12.2009, 11:28
|
|
Прописка
Регистрация: 05.05.2007
Сообщений: 116
Сказал спасибо: 10
Сказали Спасибо 58 раз(а) в 34 сообщении(ях)
|
Re: Помогите EEPROM PIC18F452
Так будет работать
; запись байта в EEPROM
wr_eeprom
bcf EECON1,EEPGD ; настройка для работы с EEPROM
bcf EECON1,CFGS ; настройка для работы с EEPROM
btfsc EECON1,WR ; ожидания окончания сохранения данных в EEPROM
bra $-2 ;
bsf EECON1,WREN ; разрешить запись
movf adr_e,w ;
movwf EEADR ; установка адреса 1
movf data_e,w ; и вызов переменой состояния для сохранения
movwf EEDATA ; в EEPROM
movlw 0x55 ; активация цикла записи в EEPROM
movwf EECON2 ;
movlw 0xAA ;
movwf EECON2 ;
bsf EECON1, ; начать запись
btfsc EECON1,WR ; ожидания окончания сохранения данных в EEPROM
bra $-2 ;
return ;
и прерывания блокировать надо до, а не внутри
Последний раз редактировалось Catcatcat1; 11.12.2009 в 11:34.
|
|
|
|
12.12.2009, 11:26
|
|
Прохожий
Регистрация: 29.08.2008
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите EEPROM PIC18F452
;ПОДПРОГРАММА ЗАПИСИ В EEPROM
;АДРЕС ЯЧЕЙКИ КЛАДЕМ В ''ADDR''
;ЗАПИСЫВАЕМОЕ ЗНАЧЕНИЕ КЛАДЕМ В ''VALUE''
EEPROM_WR
MOVLB .0
BTFSC EECON1,WR
GOTO $-2
MOVF ADDR,W
MOVWF EEADR
MOVF VALUE,W
MOVWF EEDATA
BCF EECON1,EEPGD
BSF EECON1,WREN
MOVLW H'55'
MOVWF EECON2
MOVLW H'AA'
MOVWF EECON2
BSF EECON1,WR
BCF EECON1,WREN
BCF PIE2,EEIF
RETURN
|
|
|
|
03.01.2010, 19:32
|
|
Частый гость
Регистрация: 08.12.2005
Сообщений: 12
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Помогите EEPROM PIC18F452
; чтение EEPROM
; вход:W-адрес ячейки, выход:W-данные
RDEE
MOVWF EEADR
; вход:EEADR-адрес ячейки, выход:W-данные
RDEEN ; записать адрес
BCF EECON1,EEPGD ; выбрать EPROM
BSF EECON1,RD ; инициализация чтения
RDEE11 BTFSS EECON1,RD
GOTO RDEE11
MOVF EEDATA,W ; данные в W
RETURN
;------------------------------------------------------------------
; запись в EEPROM
; вход:EEADR-адрес ячейки, W-данные
WREE
MOVWF EEDATA ; данные
WREEN BCF EECON1,EEPGD ; выбрать EPROM
BSF EECON1,WREN ; разрешить запись
MOVLW 0x55 ; ?
MOVWF EECON2 ; ?
MOVLW 0xAA ; ?
MOVWF EECON2 ; ?
BSF EECON1,WR ; записать
WREE1 BTFSC EECON1,WR ; проверка завершения операции записи
GOTO WREE1 ;
BCF EECON1,WREN ; запретить запись
RETURN
|
|
|
|
01.03.2010, 19:03
|
|
Вид на жительство
Регистрация: 29.04.2007
Адрес: Иркутск
Сообщений: 311
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Re: Помогите EEPROM PIC18F452
На асме я раньше писал, нормально получалось.
Теперь хочу на Си попробовать.
Но компилятор MPLAB выдаёт
Undefined identifier -- read_eeprom
Undefined identifier -- write_eeprom
если заменить на read_program_eeprom, то пропускает
а вот с записью никак
Это чтож такое?!
И как быть?
|
|
|
|
01.03.2010, 19:16
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,530
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
|
Re: Помогите EEPROM PIC18F452
Сообщение от yellow87
|
На асме я раньше писал, нормально получалось.
Теперь хочу на Си попробовать.
Но компилятор MPLAB выдаёт
Undefined identifier -- read_eeprom
Undefined identifier -- write_eeprom
если заменить на read_program_eeprom, то пропускает
а вот с записью никак
Это чтож такое?!
И как быть?
|
Смотрите мануал на компилятор.
|
|
|
|
02.03.2010, 11:22
|
|
Вид на жительство
Регистрация: 29.04.2007
Адрес: Иркутск
Сообщений: 311
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Re: Помогите EEPROM PIC18F452
Оказалось, что контроллер не содержит флэш-память!
С другим функции работают нормально.
|
|
|
|
02.03.2010, 15:38
|
|
Временная регистрация
Регистрация: 20.06.2007
Сообщений: 70
Сказал спасибо: 1
Сказали Спасибо 12 раз(а) в 11 сообщении(ях)
|
Re: Помогите EEPROM PIC18F452
Сообщение от yellow87
|
Оказалось, что контроллер не содержит флэш-память!
|
Как это??? Тогда надо срочно вызвать ищейку, кто-то из Вашего PIC18F452 украл 32 Кбайта флэш-памяти программ и целых 256 байт EEPROM, вор далеко не мог уйти!
|
|
|
|
03.03.2010, 15:34
|
|
Временная регистрация
Регистрация: 16.01.2008
Сообщений: 54
Сказал спасибо: 6
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Помогите EEPROM PIC18F452
Может не в тему но, у меня недавно было, следуещее - на компе все работало четко запись во флешь шла четко, а в железе никак...
Оказалость, что LM78L05 не держит нагрузку при записи во флешь - небрежно был запаян электролит на выходе лм-ки. Запаял все заработало четко...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 12:31.
|
|