| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Запис в EEPROM Data на PIC16F84A http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=14907 |
Страница 1 от 3 |
| Автор: | pldimitroff [ Пон Ное 21, 2016 10:28 am ] | |||||||||
| Заглавие: | Запис в EEPROM Data на PIC16F84A | |||||||||
Здравейте, Използвам PIC16F84A и MPLAB. Искам да запиша в пет адреса (от 0х00 до 0х04) на EEPROM Data memory. Използвам процедурата, дадена от разработчиците, но ми записва само на първия адрес (0х00). Давам Ви пример за запис на три клетки от EEPROM, както съм го направил:
Защо не ми записва в другите адреси? Каква грешка допускам? Благодаря Ви предварително! |
||||||||||
| Автор: | didofen [ Пон Ное 21, 2016 10:31 am ] |
| Заглавие: | Re: Запис в EEPROM Data на PIC16F84A |
проверявай си флага за край на записа. проца е мн по бърз от времето за запис |
|
| Автор: | pldimitroff [ Пон Ное 21, 2016 10:35 am ] |
| Заглавие: | Re: Запис в EEPROM Data на PIC16F84A |
Начинаещ съм. Някакъв пример да ми дадете. След записа на всяка клетка ли трябва да го правя? И ако има грешка, какво трябва да направя? |
|
| Автор: | sparkybg [ Пон Ное 21, 2016 11:45 am ] |
| Заглавие: | Re: Запис в EEPROM Data на PIC16F84A |
Да, след записа на всяка клетка трябва да проверяваш и да чакаш докато приключи предходния запис. |
|
| Автор: | pldimitroff [ Пон Ное 21, 2016 12:03 pm ] |
| Заглавие: | Re: Запис в EEPROM Data на PIC16F84A |
Кое точно да проверявам, стойността на адреса в EEPROM или флага (WRERR) за грешка при запис? Как да изчакам предходния запис? Да направя първия запис, да пусна програмата да си работи и след това да направя втория и пак програмата да работи и т.н. Използвам ги за таймер и времената са ми от значение. |
|
| Автор: | sparkybg [ Пон Ное 21, 2016 12:10 pm ] |
| Заглавие: | Re: Запис в EEPROM Data на PIC16F84A |
Имаш флаг за прекъсване след приключване на записа, който нулираш. И да не си сложил прекъсване, флага ти показва кога записа е приключил. Чети datasheet-а на процесора - там си пише всичко. |
|
| Автор: | pldimitroff [ Пон Ное 21, 2016 12:17 pm ] |
| Заглавие: | Re: Запис в EEPROM Data на PIC16F84A |
Не бях се досетил за флаг EEIF. Трябва да го проверя и тогава да предприема следващия запис. Ще го пробвам. Благодаря Ви! |
|
| Автор: | sparkybg [ Пон Ное 21, 2016 12:25 pm ] | |||||||||
| Заглавие: | Re: Запис в EEPROM Data на PIC16F84A | |||||||||
Няма нужда да се сещаш. Чети чаршафите на чипа внимателно. Там си пише всичко, а документацията на Микрочип е една от най-достъпните и лесни за четене. |
||||||||||
| Автор: | pldimitroff [ Пон Ное 21, 2016 12:33 pm ] |
| Заглавие: | Re: Запис в EEPROM Data на PIC16F84A |
Това е първия микрконтролер, с който се занимавам. Нямам никакъв опит и затова ми е трудно. Реших да включа и EEPROM-а, при спиране на захранването и повторното му появяване, да продължи таймера да работи, от където е стигнал, но се появи горния проблем, а в симулатора на MPLAB си работи без проблем. Пак Ви благодаря! |
|
| Автор: | itso.t [ Пон Ное 21, 2016 1:12 pm ] |
| Заглавие: | Re: Запис в EEPROM Data на PIC16F84A |
Нали не правиш запис в еепрома на всеки такт на таймера? Тия памети имат някакъв брой гарантирани цикли за запис, и след това могат да се приемат за загинали... |
|
| Автор: | pldimitroff [ Пон Ное 21, 2016 2:17 pm ] |
| Заглавие: | Re: Запис в EEPROM Data на PIC16F84A |
Мислех на половин секунда да правя записи, но мога и на минута да го направя. Какво ще ми препоръчате? Ако в различни адреси записвам, ще се увеличи ли броя на записи без да загинат? И на Вас благодаря за информацията! |
|
| Автор: | slav4o.com [ Пон Ное 21, 2016 3:15 pm ] |
| Заглавие: | Re: Запис в EEPROM Data на PIC16F84A |
По-добре е с този флаг да проверяваш края на записа. Друг вариант е да се изчаква известно време след всеки запис. Този вариант не го препоръчвам. Става само за проби. Аз бих направил системата като сложа голям кондензатор на захранването само на контролера, но през някакъв диод за да не се разрежда от останалата част на схемата. Един от пиновете ще назнача за следене на захранването и така когато то отпадне, процесора да направи запис. |
|
| Автор: | pldimitroff [ Пон Ное 21, 2016 3:55 pm ] |
| Заглавие: | Re: Запис в EEPROM Data на PIC16F84A |
Това е много хубава идея да се следи захранването и след отпадането му, контролера да работи още малко време. Лошото е, когато контролера захранва, например дисплей, и консумацията на схемата основно да е от контролера. Може да се помисли контролера да има малка консумация, да не захранва директно консуматори. |
|
| Автор: | michev [ Пон Ное 21, 2016 4:09 pm ] |
| Заглавие: | Re: Запис в EEPROM Data на PIC16F84A |
Или просто изчакай Комет да заредят от тези и ще си решиш проблема. |
|
| Автор: | slav4o.com [ Пон Ное 21, 2016 4:23 pm ] |
| Заглавие: | Re: Запис в EEPROM Data на PIC16F84A |
Това е същото но го прави самата схема. А контролера ако захранва дисплея, може при хващане на отпадането на захранването да се изкючи веднага. |
|
| Страница 1 от 3 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|