Oleg_DI 0 23 апреля, 2011 Опубликовано 23 апреля, 2011 · Жалоба Помогите советом кто как записывает EEPROM с протоколом . признак начала пакета кол байт контрольная сумма. я переделал протокол wake под запись EEPROM но там много лишнего. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 23 апреля, 2011 Опубликовано 23 апреля, 2011 · Жалоба А зачем при записи в EEPOM нужен еще какой-то свой протокол? :cranky: EEPOM обычно имеет свой физический интерфейс, который и определяет временные диаграммы чтения/записи. Может вы на самом деле хотите спросить не о протоколе связи, а о способе хранения произвольных записей в EEPROM? Некоем подобии файловой системы? Тогда встречный вопрос: про связанные списки знаете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oleg_DI 0 23 апреля, 2011 Опубликовано 23 апреля, 2011 · Жалоба А зачем при записи в EEPOM нужен еще какой-то свой протокол? :cranky: EEPOM обычно имеет свой физический интерфейс, который и определяет временные диаграммы чтения/записи. Может вы на самом деле хотите спросить не о протоколе связи, а о способе хранения произвольных записей в EEPROM? Некоем подобии файловой системы? Тогда встречный вопрос: про связанные списки знаете? нет не знаю.Где про них найти Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hd44780 0 23 апреля, 2011 Опубликовано 23 апреля, 2011 · Жалоба Где про них найти В гугле . 1-я же ссылка - http://ru.wikipedia.org/wiki/%D0%A1%D0%B2%...%81%D0%BE%D0%BA Реализовывать можно как угодно и на чем угодео. Полно примеров и на C и на др. языках. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 23 апреля, 2011 Опубликовано 23 апреля, 2011 · Жалоба нет не знаю.Где про них найтиТ.е. вы подтверждаете мою догадку о том, что вам на самом деле требуется файловая система для EEPROM? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oleg_DI 0 23 апреля, 2011 Опубликовано 23 апреля, 2011 (изменено) · Жалоба Т.е. вы подтверждаете мою догадку о том, что вам на самом деле требуется файловая система для EEPROM? Да мне требуется файловая система для EEPROM, или её подобие.Мне надо записывать массив данных одной длинны,и при чтении знать верны ли данные.Спасибо за ссылки я нашел на си.надо осмыслить. Изменено 23 апреля, 2011 пользователем Oleg_DI Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Integral 0 3 мая, 2011 Опубликовано 3 мая, 2011 · Жалоба При чтении определить верны ли данные можно 2 способами (в зависимости от конкретного случая), ето проверка контрольной суммы или просто условный оператор на проверку диапазона возможных значений в цикле считывания. Я как делал ф. обновления прошивки у меня сначало мк прошивку закодированную протоколом РЦ записывает во внешнюю еепром, потом обязательно проверка контрольной суммы, если все ок загрузчик мк сам свою прошивку всю перещивает, 500раз тестировал, при ошибках передачи данных прошивки контрольная сумма не совпадает и мк себя не перешивает... поетому я так понял вам нужно реализовать просто проверку контрольной суммы и все, нечего там городить файловые системы и т.п., хотя зависит от конкретной задачи самое главное при записи в еепром отключать прерывания, так как будут глюкы 100% при записи данных Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 3 мая, 2011 Опубликовано 3 мая, 2011 · Жалоба самое главное при записи в еепром отключать прерывания, так как будут глюкы 100% при записи данных Обоснуйте, пожалуйста. Каков механизм их возникновения при включенных прерываниях? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Integral 0 4 мая, 2011 Опубликовано 4 мая, 2011 (изменено) · Жалоба елементарно ватсон... запись в еепром идет долго, т.е. нужна задержка в программе при записи что бы записалось (цыклом вайл ждем пока не закончиться запись, и только тогда работаем дальше), если в ето (пока цыкв вайл ждет пока закончиться запись) время произойдет абсолютно любое прерывание, то запись может (а может и нет) заглючит и результат записи может быть любим, с такой фигней мне приборов уже 100 возвращали, и вообще голову ломал че слетают все время данные с еепрома... бод настроил и т.п... отключил прерывание при работы с еепром, как результат полтора года 800 устройств до сих пор работают замечательно в своих устройствах очень часто работаю с прерываниями и очень много пишу данных в внутренюю еепром, вот и слет раз в 3-4 месяца ежедневнего использования наблюдался, а вдруг запись не успеет закончиться и будет команда начать новую запись? что угодно может быть... поетому при работе с еепром нужно себе на лобе написать 2 больших пункта, это задержка вайлом пока закончиться запись и отключение прерываний на момент записи Изменено 4 мая, 2011 пользователем Integral Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 4 мая, 2011 Опубликовано 4 мая, 2011 · Жалоба ...если в ето (пока цыкв вайл ждет пока закончиться запись) время произойдет абсолютно любое прерывание, то запись может (а может и нет) заглючит и результат записи может быть любим Это не описание механизма. а вдруг запись не успеет закончиться и будет команда начать новую запись? что угодно может быть... Так программы надо писать так, чтобы "что угодно" не случалось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Integral 0 4 мая, 2011 Опубликовано 4 мая, 2011 (изменено) · Жалоба ну вот отключил прерывание и что угодно случится точно не сможет темболия если большой проект, то все предусмотреть ооочень тяжело, включаются/выключаются прерывания всего одной командой, поетому для меня в хорошем стиле программирования должны отключатся прерывания на момент записи в еепром aaarrr как по другому лучше сделать? сделать глобальный флаг и при записи устанавливать в 1 а при окончании в 0 и при каждой записи проверять етот флаг? особенно если писать масивы в еепром, масив может быть недописан и по прерыванию пойдет команда записать в етот масив другие значения, при возврате с прерывания будет дальше запись идти, в результате фиг знает что будет в еепром, поетому можно и флаг делать глобальный, но я сделал уже по "настоящему", отключаю прерывания и спокоен... так как коректность данных в еепром была очень важна, и играться на угад как оно получиться нельзя, как месяц или как год поработает устройство Изменено 4 мая, 2011 пользователем Integral Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xemul 0 4 мая, 2011 Опубликовано 4 мая, 2011 · Жалоба поетому для меня в хорошем стиле программирования должны отключатся прерывания на момент записи в еепром Вероятно, Вам не попадались задачи, где приоритет записи в еепром чуть пониже плинтуса. Прерывания и надёжность записи (в еепром), имхо, никак не пересекаются. aaarrr как по другому лучше сделать? сделать глобальный флаг и при записи устанавливать в 1 а при окончании в 0 и при каждой записи проверять етот флаг? особенно если писать масивы в еепром, масив может быть недописан и по прерыванию пойдет команда записать в етот масив другие значения, при возврате с прерывания будет дальше запись идти, в результате фиг знает что будет в еепром, поетому можно и флаг делать глобальный, но я сделал уже по "настоящему", отключаю прерывания и спокоен... так как коректность данных в еепром была очень важна, и играться на угад как оно получиться нельзя, как месяц или как год поработает устройство Оцениваете потребную среднюю скорость записи; если укладываетесь в спецификацию еепром, то организуете, н-р, кольцевой буфер достаточной длины, из которого пишете по мере возникновений прерывания окончания записи в еепром; если не укладываетесь, выбираете более приличную случаю энергонезависимую память. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oleg_DI 0 4 мая, 2011 Опубликовано 4 мая, 2011 · Жалоба ну вот отключил прерывание и что угодно случится точно не сможет темболия если большой проект, то все предусмотреть ооочень тяжело, включаются/выключаются прерывания всего одной командой, поетому для меня в хорошем стиле программирования должны отключатся прерывания на момент записи в еепром aaarrr как по другому лучше сделать? сделать глобальный флаг и при записи устанавливать в 1 а при окончании в 0 и при каждой записи проверять етот флаг? особенно если писать масивы в еепром, масив может быть недописан и по прерыванию пойдет команда записать в етот масив другие значения, при возврате с прерывания будет дальше запись идти, в результате фиг знает что будет в еепром, поетому можно и флаг делать глобальный, но я сделал уже по "настоящему", отключаю прерывания и спокоен... так как коректность данных в еепром была очень важна, и играться на угад как оно получиться нельзя, как месяц или как год поработает устройство контрольная сумма и есть этот флаг.Правильная контрольная сумма при чтении правильные данные.а если данные не правильные поможет кольцевой счётчик адреса ЕЕПром если данные не верны делаешь откат и читаешь предыдущие данные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
singlskv 0 4 мая, 2011 Опубликовано 4 мая, 2011 · Жалоба самое главное при записи в еепром отключать прерывания, так как будут глюкы 100% при записи данныхНда... отключать прерывания нужно ТОЛЬКО на время копирования данных во временный буфер который используется для записи в EEPROM, все остальное ошибки программиста... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Integral 0 4 мая, 2011 Опубликовано 4 мая, 2011 (изменено) · Жалоба Нда... отключать прерывания нужно ТОЛЬКО на время копирования данных во временный буфер который используется для записи в EEPROM, все остальное ошибки программиста... ошибок никогда не бывает, прогто любая программа работает так, как ее написал ррограммист, а не так как она должна работать? В любое время в любов приреванни может быть команда записи в еепром, в таком случае, или глобальную переменную мутите ли отключайте прерыванич??? я еще имел глюк с лсмд при прерываниях, кому интересно роскажу, [CENSORED] я на своем опыте работы имею след. полезный совет: Если вы работаете с еепром и нет критического требования на реакцию мк на все прервания - отключайте еепром при записи, иначе в любой программе найдеться не предусмотернный глюк где 1 пишетться 2 раза в одно и то время по приреванич??? глюк роз в 3-4 месяца возникап, вот мне перед клиентами удоно было тол??? + еще, при работе за ЖКИ где 4 битная ШД, так вот..... при записи 4 бит если возникает прерывание и там нуно опять дынные возобновить, так пишем еще 8 бит.... потом возвращаемся с прерывания... и дописываеи еще 4 бит.. кароче глюки слош и рядом, ну вот если вы такие умные, просвятите как избавится ог глюков работы дисплеся при 2 командал lcd_gotoxy(0, 1); strchis("А"); ели запустить данній код в прерівание по входу, и дать на вхоод несколько десятком кГц??? вот, значит при работе с дисплеем тоже прерівания отклювать? ато при ежедневном использовании раз в 3-4 месяца клиент находит как заглючить устроство? так вам токо на угад, написал и досвидание??? кому перрівания не критьичні оключайте... ато как исправить глюк просвятите lcd_gotoxy(0, 1); strchis("А"); ПС, писать свои функции и делать на асембллерере 10000% не позволяет заказчит, поетому вот такая задача... как исправить глюк в етих 2 строках без отключения прерываний? ПС. еемпром обновляю с частотой окколо 1кгц в 1с, статистиу тамм прибор храмин, уж очень точную, и часто туда пишет, и преріваний тьма вот какк просвятите как избавиться от глюков бисплея без откл преріванич поверю что умныу Мнение о пользователях скрыто по поступившей жалобе. Автор сообщения получил предупреждение и статус read only на неделю. Модератор. Изменено 5 мая, 2011 пользователем IgorKossak Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться