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

 
 
> IAR и запись в EEPROM, Вопрос по реализации записи в eeprom в IAR
arttab
сообщение May 16 2006, 07:27
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



В моей проге есть запись по команде в еепром:
1. посылаю команду
2. Байтики принемает уарт и они вне прерывания обрабатываются функцией приемника
3. При получении нужной команды в еепром пишется байт (пишется средствами IAR) и отсылаеются байтики о выполнении. Отсылается не дожидаясь окончания записи (флаг не проверяю).

Задержка между окончанием приема команды на запись до отправки ответа около 7.5 мсек. если не пишу, а отвечаю сразу, то 0,3мсек.
Вопрос: чем вызвана такая большая задержка? Кварц 8 МГц. Время записи одного байта должно быть 1 мсек. МЕГА8

Это не просто любопытство - есть проблемы при записи в еепром в других частях проги. Пытаюсь разобраться.


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
arttab
сообщение May 24 2006, 02:01
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



Цитата
А зачем так сложно? Гораздо проще объявить переменную в EEPROM. Тогда обращения к ней IAR делает автоматически все сам, со всеми прибамбасами.

Я так тоже думал...
Я обявил масив в еепром и пишу в него так:
void Conf_B_B(unsigned char z, unsigned char y)
{
unsigned char __eeprom* ub;
unsigned char* uc;
unsigned char i=6;

ub = Conf_BR + z;
uc = str + y;
*(ub) = *(uc);

__disable_interrupt(); //CLI
while (i)
{*(ub) = *(uc);
uc++;
ub++;
i--;}

while(EECR&(1<<EEWE));
__enable_interrupt();
}
Пришлось самому прерывания запрещать


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
aleksey_g
сообщение May 25 2006, 12:35
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 151
Регистрация: 11-01-06
Из: Украина Ровно
Пользователь №: 13 066



Цитата
Я так тоже думал...
Пришлось самому прерывания запрещать


Уважаемый arttab, похоже неправда Ваша!
Вот что мне нагенерил ИАР4.12А:

0000B8 99F9 SBIC 0x1F,1
0000BA CFFE RJMP 0x0B8
0000BC 9508 RET
0000BE 9543 INC R20
0000C0 BD41 OUT EEAR,R20
0000C2 94F8 CLI
0000C4 9AFA SBI 0x1F,2
0000C6 9AF9 SBI 0x1F,1
0000C8 BE0F OUT SREG,R0
0000CA 9508 RET
__eeput16_8:
0000CC B60F IN R0,SREG
0000CE DFF4 RCALL 0x0B8
0000D0 BD00 OUT EEDR,R16
0000D2 DFF6 RCALL 0x0C0
0000D4 DFF1 RCALL 0x0B8
0000D6 BD10 OUT EEDR,R17
0000D8 CFF2 RJMP 0x0BE
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- arttab   IAR и запись в EEPROM   May 16 2006, 07:27
- - KRS   А почему вы думаете что время записи 1 ms? уже дав...   May 16 2006, 07:43
- - arttab   Кое что дошло. для МЕГИ8 время записи байта в еепр...   May 16 2006, 08:43
|- - BVU   Цитата(arttab @ May 16 2006, 12:43) Кое ч...   May 16 2006, 08:57
- - arttab   Спасибо всем! IAR сам не запрещает прорывания ...   May 16 2006, 09:15
|- - _Bill   Цитата(arttab @ May 16 2006, 12:15) Спаси...   May 23 2006, 12:16
- - KRS   Запрещать прерывания нужно только что бы биты EEM...   May 16 2006, 10:31
- - arttab   Спасибо KRS. Замечание ценное, но не для моего слу...   May 17 2006, 01:33
- - IgorKossak   Посмотрите также здесь. Это я когда-то выкладывал ...   May 17 2006, 12:41
|- - arttab   Цитата(IgorKossak @ May 17 2006, 19:41) П...   May 18 2006, 02:01
|- - IgorKossak   Цитата(arttab @ May 18 2006, 05:01) Этим ...   May 18 2006, 06:22
- - arttab   Копаться в чужом тексте дело не благодарное. Жаль ...   May 18 2006, 08:53
|- - IgorKossak   Цитата(arttab @ May 18 2006, 11:53) Копат...   May 18 2006, 11:31
|- - Baser   Решил я тут разобраться с тем, как ИАР реализовал ...   Feb 17 2008, 23:22
- - arttab   Спасибо. Парадокс: чтобы сделать хорошо и быстро н...   May 19 2006, 01:46
- - arttab   у меня IAR 3.10C   May 26 2006, 01:43
|- - _Bill   Цитата(arttab @ May 26 2006, 04:43) у мен...   May 26 2006, 07:56
- - arttab   Спорить не буду. пес отключен. при получении коман...   May 26 2006, 08:56
- - CSB   ЦитатаПосмотрите также здесь. Это я когда-то выкла...   Jun 25 2006, 18:36
|- - IgorKossak   Цитата(CSB @ Jun 25 2006, 21:36) Цитата П...   Jun 26 2006, 06:30
- - arttab   пока не подключал. переносимось проекта теряется. ...   Jun 26 2006, 01:27
- - arttab   Если кто дернет файл с из проекта или не подключит...   Jun 26 2006, 09:01
|- - IgorKossak   Цитата(arttab @ Jun 26 2006, 12:01) Если ...   Jun 26 2006, 09:38
- - arttab   Подключил. вылетает ошибка: Error[2]: Failed to op...   Jun 26 2006, 09:13
- - arttab   спасиба. разобрался. код на 2 байта вырос   Jun 27 2006, 08:21
- - Rash   Цитата(CSB @ Jun 25 2006, 22:36) Как подк...   Feb 13 2008, 09:26
|- - IgorKossak   Цитата(Rash @ Feb 13 2008, 11:26) Ни как ...   Feb 13 2008, 12:06
- - Rash   Цитата(IgorKossak @ Feb 13 2008, 16:06) P...   Feb 13 2008, 12:15
|- - IgorKossak   Цитата(Rash @ Feb 13 2008, 14:15) Это я с...   Feb 13 2008, 12:26
- - Rash   Цитата(IgorKossak @ Feb 13 2008, 16:26) Э...   Feb 13 2008, 12:48
|- - IgorKossak   Цитата(Rash @ Feb 13 2008, 14:48) поэтому...   Feb 13 2008, 13:20
- - Rash   вложил   Feb 13 2008, 13:30
|- - IgorKossak   Цитата(Rash @ Feb 13 2008, 15:30) вложил ...   Feb 13 2008, 13:56
- - Rash   Цитата(IgorKossak @ Feb 13 2008, 17:56) П...   Feb 13 2008, 14:03


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

 


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


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