Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 08.03.2005, 22:27  
Jerry86
Прохожий
 
Регистрация: 21.12.2004
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Jerry86 на пути к лучшему
По умолчанию PIC16F84A за гранью понимания!!!!!

Есть некий девайс на оном ПИКе, которому требуется записать в память данных два значения.Естественно запись оформлена в виде двух прцедур которые вызываются по очереди.Так вот в ПИКе прописывается одна ячейка процедура которой была вызвана первой, вторая ячейка не пишется хоть тресни.В MPLAB все прописывается как надо. Может какие мысли будут по этому поводу или кто-то сталкивался чем-то подобным поделитесь.Заранее благодарен.
Реклама:
Jerry86 вне форума  
Непрочитано 09.03.2005, 03:01  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,956
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: PIC16F84A за гранью понимания!!!!!

Сообщение от Jerry86
Есть некий девайс на оном ПИКе, которому требуется записать в память данных два значения.Естественно запись оформлена в виде двух прцедур которые вызываются по очереди.Так вот в ПИКе прописывается одна ячейка процедура которой была вызвана первой, вторая ячейка не пишется хоть тресни.В MPLAB все прописывается как надо. Может какие мысли будут по этому поводу или кто-то сталкивался чем-то подобным поделитесь.Заранее благодарен.
Как я понимаю, речь идет о записи в EEPROM? И супервизора питания нету? Попробуйте либо его поствить, либо по окончанию записи - в регистр адреса записать, ну например 0... А значния расположить в других адресах.
nml вне форума  
Непрочитано 09.03.2005, 20:58  
walrus
Временная регистрация
 
Регистрация: 26.12.2003
Сообщений: 49
Сказал спасибо: 0
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
walrus на пути к лучшему
По умолчанию

Не боюсь показаться занудой - код в студию!!!!! Телепатов тут нет.
walrus вне форума  
Непрочитано 13.03.2005, 01:03  
Гость
 
Сообщений: n/a
По умолчанию

Конечно информации мало, но очень похоже на отсутствие таймаута после записи - моделирование такие вещи не учитывает, а ошибка произойдет сразу после записи первого значения...
 
Непрочитано 17.03.2005, 20:18  
Serg_KHTW
Прохожий
 
Регистрация: 17.03.2005
Сообщений: 5
Сказал спасибо: 86
Сказали Спасибо 1 раз в 1 сообщении
Serg_KHTW на пути к лучшему
По умолчанию

Уж очень и очень похоже на ИМЕННО ОТСУТСТВИЕ таймаута. Попробуй писАть второе значение после получения прерывания о записи первого. Наступал когда-то на эти грабли...
Serg_KHTW вне форума  
Непрочитано 18.03.2005, 06:02  
Гость
 
Сообщений: n/a
По умолчанию

KRUTOI MP PIC BCE OPERACII DELAET ODNOVREMENO ???
PO IDEE ZAPISI DOLJNA SOOTVETSTBOBAT 1 PEREMENAIA ???
 
Непрочитано 18.03.2005, 10:31  
Serg_KHTW
Прохожий
 
Регистрация: 17.03.2005
Сообщений: 5
Сказал спасибо: 86
Сказали Спасибо 1 раз в 1 сообщении
Serg_KHTW на пути к лучшему
По умолчанию

Записи м соответствует одна переменная (если я правильно понял написанное). Но запись не происходит за время одного цикла, там стоИт, грубо говоря, такая же ЕЕПРОМина как и 24С... только со своим генератором. То есть по факту окончания цикла записи ОДНОГО БАЙТА генерируется прерывание, которое НУЖНО обрабатывать в 99% случаев, особенно, когда пишется больше чем одно значение. Не ленитесь, если не обрабатываете прерывание, хотя бы проверяйте наличие флага прерывания.
Serg_KHTW вне форума  
Непрочитано 18.03.2005, 16:39  
VLM
Прописка
 
Регистрация: 21.01.2005
Сообщений: 194
Сказал спасибо: 9
Сказали Спасибо 30 раз(а) в 18 сообщении(ях)
VLM на пути к лучшему
По умолчанию

VSE PRAVILNO
VLM вне форума  
Непрочитано 22.03.2005, 20:33  
vsn
Прохожий
 
Регистрация: 15.09.2004
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
vsn на пути к лучшему
По умолчанию

Ну, думаю прерывание на такой пустяк разрешать было бы роскошью (с одним-то вектором!), а почитать спецификацию на максимальное время записи не помешало бы. Если не критичны остальные операции, то можно в подпрограмме записи вначале опрашивать бит окончания предыдущей записи, далее сама процедура записи, ну и для надежности верификация...Я в свое время делал так:
;*************************************
WR_EE
;запись в память
;вход: W = адрес, по которому требуется запись
; RG1 = данные для записи
;выход:

BANKSEL PIR2 ;
BCF PIR2,EEIF ;сброс флага окончания записи
BANKSEL EEADR ;
MOVWF EEADR ; установка адреса
BANKSEL RG1 ;
MOVF RG1,W ;
BANKSEL EEADR ;
MOVWF EEDATA ; установка данных

WR_EE_ERR
BANKSEL EECON1 ;
BCF EECON1,EEPGD ;
BCF EECON1,WRERR ;
BSF EECON1,WREN ;

BCF INTCON,GIE ; запрет прерываний
BCF INTCON,GIE ; запрет прерываний

MOVLW 055H ;;необходимая последовательность
MOVWF EECON2 ;;для записи
MOVLW 0AAH ;;
MOVWF EECON2 ;;
BSF EECON1,WR ;;

BSF INTCON,GIE ;

BCF EECON1,WREN ;

NO_WR_EE
BANKSEL PIR2 ;
PAGESEL NO_WR_EE
BTFSS PIR2,EEIF ; проверка окончания записи
GOTO NO_WR_EE ;
BCF PIR2,EEIF ;
BANKSEL PORTA ;
RETURN
;**********************************
vsn вне форума  
Непрочитано 23.03.2005, 09:42  
Serg_KHTW
Прохожий
 
Регистрация: 17.03.2005
Сообщений: 5
Сказал спасибо: 86
Сказали Спасибо 1 раз в 1 сообщении
Serg_KHTW на пути к лучшему
По умолчанию

Совершенно согласен (только это под более навороченый PIC из серии более восьмикилобайтного F874), но принцип один - дал команду на запись - подождал - проверил флаг окончания записи.
Serg_KHTW вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PIC16F84A и MT-16S2D Runtime_error Микроконтроллеры, АЦП, память и т.д 2 09.05.2007 19:18
PIC16F84A документацыя макс Микроконтроллеры, АЦП, память и т.д 3 11.12.2005 14:03
PIC16F84A макс Микроконтроллеры, АЦП, память и т.д 1 11.12.2005 00:01
PIC16F84A??? RETAS Микроконтроллеры, АЦП, память и т.д 7 04.03.2005 05:20
pic16f84a khorght Микроконтроллеры, АЦП, память и т.д 1 09.09.2004 20:37


Часовой пояс GMT +4, время: 11:38.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot