реклама на сайте
подробности

 
 
> EEPROM, Оптимальная запись/чтение EEPROM
Дим
сообщение Mar 2 2006, 18:07
Сообщение #1





Группа: Новичок
Сообщений: 12
Регистрация: 20-10-05
Пользователь №: 9 894



Товарищи, help.gif! Такая проблемка: при записи в EEPROM на ATMEGE 8515 записывается только первый байт, остальные остаются прежними. Код функции...
.....
void RTEEPROMwrite(int location, unsigned char databyte)
{
unsigned char savedSREG;
EEAR = location; // set address
EEDR = databyte; // set data
savedSREG = SREG; // keep setting so it can be restored
while(EECR & (1<<EEWE));
CLI(); // disable interrupts
EECR |= BIT(EEMWE);// set "write enable" bit
EECR |= BIT(EEWE); // set "write" bit
SREG = savedSREG; // restore SREG
}
В чем может быть проблема?
И еще вопросик...
Bit EERIE: EEPROM Ready Interrupt Enable - бит отвечающий за прерывание, как им пользоваться и как сделать чтение/запись EEPROM по прерыванию? А то эти пустые циклы как-то не хорошо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ArtemK
сообщение Mar 3 2006, 09:25
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 36
Регистрация: 27-09-05
Из: Украина, г. Херсон
Пользователь №: 8 994



По поводу буферизированной записи в EEPROM по прерыванию.
Чем не устроил код из Application Note "AVR104: Buffered Interrupt Controlled EEPROM Writes"???

Source Code
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 3 2006, 09:38
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(ArtemK @ Mar 3 2006, 11:25) *
По поводу буферизированной записи в EEPROM по прерыванию.
Чем не устроил код из Application Note "AVR104: Buffered Interrupt Controlled EEPROM Writes"???

хотя бы тем, что он только под IAR и использует как минимум в три раза больше RAM чем приведенный выше код. interrupt latency в нем много выше. Да и по функциональности в appnote есть запись только одного байта, а в приведенном коде - запись любых структур.

Сообщение отредактировал defunct - Mar 3 2006, 09:42
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Дим   EEPROM   Mar 2 2006, 18:07
- - defunct   У вас ошибка в коде в части с CLI().. вот рабочий ...   Mar 2 2006, 18:17
- - Дим   Я правильно понял у вас сначала записываются адрес...   Mar 2 2006, 18:42
|- - defunct   Цитата(Дим @ Mar 2 2006, 20:42) Я правиль...   Mar 2 2006, 19:45
|- - prottoss   Цитата(defunct @ Mar 3 2006, 02:45) Похож...   Mar 2 2006, 20:01
|- - defunct   Цитата(prottoss @ Mar 2 2006, 22:01) ...   Mar 2 2006, 20:17
|- - prottoss   Цитата(defunct @ Mar 3 2006, 03:17) Цитат...   Mar 2 2006, 20:35
|- - defunct   Цитата(prottoss @ Mar 2 2006, 22:35) А Вы...   Mar 2 2006, 20:57
|- - prottoss   Цитата(defunct @ Mar 3 2006, 03:57) Цитат...   Mar 2 2006, 21:51
|- - defunct   Цитата(prottoss @ Mar 2 2006, 23:51) А не...   Mar 2 2006, 23:44
- - prottoss   Цитата(Дим @ Mar 3 2006, 01:07) Товарищи,...   Mar 2 2006, 18:49
- - beer_warrior   Господа, а никто не делал библиотечки EEPROM полно...   Mar 2 2006, 20:30
- - beer_warrior   Цитатаwill make the write cycle fail, since the EE...   Mar 2 2006, 21:02
- - defunct   Вот что у меня получилось с прерываниями.. Выигрыш...   Mar 3 2006, 01:23
|- - vet   Цитата(defunct @ Mar 3 2006, 04:23) Вот ч...   Mar 3 2006, 06:22
|- - defunct   Цитата(vet @ Mar 3 2006, 08:22) Цифра ...   Mar 3 2006, 09:03
- - Георгий   А если не заморачиваться и положиться на компилято...   Mar 3 2006, 05:32


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 17:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01378 секунд с 7
ELECTRONIX ©2004-2016