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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> IAR: запись в EEPROM по прерыванию, как это организовать?
singlskv
сообщение May 24 2007, 20:55
Сообщение #16


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(IgorKossak @ May 25 2007, 00:28) *
И не только на запись. Чтение сразу после записи требует окончания предыдущего процесса.
Не следует при этом забывать одно из пожелений в теме - обращение к обьектам в ЕЕПРОМ как к переменным.
При этом предположение, что всё можно поставить в очередь и эта очередь будет разгребаться где то по прерываниям, а фоновый процесс будет идти без ожиданий, по моему некорректно. Ибо прежде чем прочесть какую то переменную в одном процессе, нужно дождаться окончания записи, начатой в другом процессе (или в этом же). Ситуация, когда нужно только писать, может быть решена с помощью очереди, но это частный случай.

Про чтение не упоминал по тому что с ним все гораздо проще.
Никто ведь не мешает нам организовать 2 очереди, одна на запись другая на чтение,
и учитывая то, что чтение практически не отнимает ресурсов, можно при каждом прерывании
по окончанию записи выполнять все отложенные процедуры чтения прямо в этом прерывании.

P.S. Правда это все не имеет никакого отношения к использованию IARом переменных
в области EEPROM, зато имеет отношение к грамотному использованию eeprom.
Go to the top of the page
 
+Quote Post
VladimirYU
сообщение May 25 2007, 07:16
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



Цитата(singlskv @ May 25 2007, 00:55) *
Про чтение не упоминал по тому что с ним все гораздо проще.
Никто ведь не мешает нам организовать 2 очереди, одна на запись другая на чтение,
и учитывая то, что чтение практически не отнимает ресурсов, можно при каждом прерывании
по окончанию записи выполнять все отложенные процедуры чтения прямо в этом прерывании.

P.S. Правда это все не имеет никакого отношения к использованию IARом переменных
в области EEPROM, зато имеет отношение к грамотному использованию eeprom.


Как бы не пытались, но природу не обманешь. ЕЕПРОМ медленное устройство, поэтому основная программа должна это учитывать. Как это сделать, вариантов предложено достаточно. ИМХО разработчик разберется, выберет или предложит собственный вариант решения СВОЕЙ ЗАДАЧИ. А IAR здесь в самом деле ни причем. Предлагаю тему закрыть.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение May 25 2007, 07:32
Сообщение #18


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(VladimirYU @ May 25 2007, 10:16) *
Предлагаю тему закрыть.

Автор темы согласен?

Цитата(singlskv @ May 24 2007, 23:55) *
P.S. Правда это все не имеет никакого отношения к использованию IARом переменных
в области EEPROM, зато имеет отношение к грамотному использованию eeprom.

Грамотное использование ЕЕПРОМ не самоцель ибо операции с переменными должны осуществляться тогда, когда они встречаются в программе, а не скопом. На эту тему было много разговоров при обсуждении volatile. Переменные в ЕЕПРОМ имеют как раз такое свойство. Представьте себе такую же ситуацию с обычными переменными - сначала делаем все записи, потом все чтения. Абсурд.
Go to the top of the page
 
+Quote Post
singlskv
сообщение May 25 2007, 07:54
Сообщение #19


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(IgorKossak @ May 25 2007, 11:32) *
Автор темы согласен?
Грамотное использование ЕЕПРОМ не самоцель ибо операции с переменными должны осуществляться тогда, когда они встречаются в программе, а не скопом. На эту тему было много разговоров при обсуждении volatile. Переменные в ЕЕПРОМ имеют как раз такое свойство. Представьте себе такую же ситуацию с обычными переменными - сначала делаем все записи, потом все чтения. Абсурд.

Не все записи а потом все чтения.
По окончании текущей записи делаем все накопившиеся чтения.
Если Вы пользуетесь ячейками EEPROM как переменными, то Вы в любом случае
ждете окончания текущей записи.
Go to the top of the page
 
+Quote Post
BratherLU
сообщение May 25 2007, 08:26
Сообщение #20


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

Группа: Свой
Сообщений: 103
Регистрация: 16-05-06
Пользователь №: 17 126



По-моему проще надо быть - и работать с еепром (читать/писать) только в одной нитке, а фон это или прерывание - это на усмотрение разработчика :)
Go to the top of the page
 
+Quote Post
vitko
сообщение May 25 2007, 14:19
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 8-03-06
Из: Kyiv, UA
Пользователь №: 15 066



Спасибо, с темой понятно. Обойдусь без прерываний.
Go to the top of the page
 
+Quote Post

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

 


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


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