Например TDA7294

Форум РадиоКот • Просмотр темы - Eeprom
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Пт апр 26, 2024 17:14:02

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 40 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Eeprom
СообщениеДобавлено: Чт май 23, 2019 08:05:48 
Первый раз сказал Мяу!

Зарегистрирован: Чт май 23, 2019 07:59:45
Сообщений: 24
Откуда: Екатеринбург
Рейтинг сообщения: 0
Здравствуйте, сделал счётчик импульсов с отображением на семимегментных индикаторах, все заработало и прекрасно считало, но как только попытались сделать сохранение параметров, все сломалось, индикаторы моргают, где то нашёл что нужно не писать в 0 ячейке, писали в других, не помогло питал от usb думал беда в питание, замена источника питания на лабораторный блок не помогла:(


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Чт май 23, 2019 08:40:03 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 3
Медали: 1
Получил миской по аватаре (1)
Проблема в 147-ой строке кода.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Чт май 23, 2019 16:50:53 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1385
Рейтинг сообщения: 0
Для начала, код в студию.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Eeprom
СообщениеДобавлено: Пт май 24, 2019 07:24:46 
Первый раз сказал Мяу!

Зарегистрирован: Чт май 23, 2019 07:59:45
Сообщений: 24
Откуда: Екатеринбург
Рейтинг сообщения: 0
Здравствуйте, сделал в атмел студио 7 счётчик с памятью, и выводом информации через сдвиговые регистры, все работает и считает но когда добавил в код работу с памятью началась ерунда, проверка в протеусе показывает что он считает но странные значения выводит непонятные, в железе все вообще отказывается работать, как горят все сегменты так и горят и не какой реакции, надеюсь на себя но на вас очень рассчитываю даже незнаю в какую сторону смотреть.


Вложения:
Комментарий к файлу: Текст программы
prog.txt [2.72 KiB]
Скачиваний: 170
Комментарий к файлу: Схема в протеусе
Screenshot_1.png [95.03 KiB]
Скачиваний: 381
Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Пт май 24, 2019 08:01:09 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Yarikkasl, сохранять значения в EEPROM надо только, если они не больше девяти. Потому что на следующем цикле сами же оттуда считаете значения за пределами индекса массива


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Пт май 24, 2019 08:42:58 
Первый раз сказал Мяу!

Зарегистрирован: Чт май 23, 2019 07:59:45
Сообщений: 24
Откуда: Екатеринбург
Рейтинг сообщения: 0
ПростоНуб, дак я и так делал и выносил запись в самый конец цикла, все не работает, в протеусе я считаю так там вместо сотен какая то ерунда показывается,


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Пт май 24, 2019 09:00:14 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14077
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
И какого .... КОТЯТ в учебных проектах тянет сходу на столь ЖИРНЫЕ МК???
:?
Это же ВСЕГО-ТО УЧЕБКА...
:dont_know:
При таком примере ни проверить на практике ни желания изучать начинку для
корректного ответа нету...
:sleep:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Пт май 24, 2019 09:03:36 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Yarikkasl, вот так:
Код:
...
      if (!(PINA & (1<<PINA0)) && (PINA & (1<<PINA1)))
      {
          _delay_ms(200);
          if (!(PINA & (1<<PINA0)))
          {
             i1++;
             if (i1 > 9)
             {
                i1 = 0;
                j1++;
                // eeprom_update_byte (&memory[1], j1);
                if (j1 > 9)
                {
                   j1 = 0;
                   // k1++;
                   if (++k1 > 9) k1=0; // <--
                   eeprom_update_byte (&memory[2], k1);
                }
                eeprom_update_byte (&memory[1], j1); // <--
             }
             eeprom_update_byte (&memory[0], i1); // <---
          }
          while (!(PINA & (1<<PINA0)));
      }
      if (!(PINA & ((1<<PINA1) | (1<<PINA0))))
      {
         _delay_ms(200);
         if (!(PINA & (1<<PINA0)))
         {
                                i2++;
            // eeprom_update_byte (&memory[3], i2);
            if (i2 > 9)
            {
               i2 = 0;
               j2++;
               // eeprom_update_byte (&memory[4], j2);
               if (j2 > 9)
               {
                  j2 = 0;
                  // k2++;
                  if (++k2 > 9) k2=0; // <--
                  eeprom_update_byte (&memory[5], k2);
               }
               eeprom_update_byte (&memory[4], j2); // <--
            }
            eeprom_update_byte (&memory[3], i2); // <--
         }
         while (!(PINA & (1<<PINA0)));
      }
...


P.S. Но EEPROM такую мастурбацию долго не выдержит - сдохнет. У него все же ограниченное количество записей, хоть и большое.

P.P.S. Докопировался. В нижнем блоке исправил k1 на k2


Последний раз редактировалось ПростоНуб Пт май 24, 2019 09:16:06, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Пт май 24, 2019 09:10:36 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14077
Откуда: ДОНЕЦК
Рейтинг сообщения: 1
В ЕЕПРОМку пишем только в случае различия данных за определенный период.
Обычно для контрольных счетчиков используется какая-нибудь схемка энергонезависимого ОЗУ...
DS1307 к примеру... или дежурный источник питания к самому МК подключенный...
:roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Пт май 24, 2019 09:36:23 
Первый раз сказал Мяу!

Зарегистрирован: Чт май 23, 2019 07:59:45
Сообщений: 24
Откуда: Екатеринбург
Рейтинг сообщения: 0
BOB51, просто потому что нужно сделать этот счётчик для военки, а у нее есть полный аналог 1887ве7т, поискал я в интернетах и пришел к выводу что это отличный вариант, атмега 128 распространенная есть примеры и уроки.

Добавлено after 2 minutes 29 seconds:
ПростоНуб, почему не выдержит? Ведь там функция update она я так понимаю сравнивает и если значение изменилось то перезапишет, и мне много не нужно лишь до 999 правда считать будет долго


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Пт май 24, 2019 10:06:19 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4222
Откуда: Ижевск
Рейтинг сообщения: 0
Можно не долбить одни и те же ячейки, а сделать кольцевой буфер. 4к EEPROM хватит надолго. Можно задействовать свободную FLASH. Но это на любителя. Можно вообще выбросить регистры и подключить индикаторы через резисторы напрямую к лапам контроллера.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Пт май 24, 2019 10:32:49 
Первый раз сказал Мяу!

Зарегистрирован: Чт май 23, 2019 07:59:45
Сообщений: 24
Откуда: Екатеринбург
Рейтинг сообщения: 0
ПростоНуб, akl, а вот и не работает нехрена. Самое грустное что я делал этот. Счётчик который в протеусе просто отлично работал а вот в жизни отказался, а этот в железе заработал хоть и частично, так что получилось и тут нехрена и там нехрена

Добавлено after 5 minutes 32 seconds:
akl, зачем убирать регистры, с ними все отлично работает. Показывает. Единственное что вот. Когда я работаю с памятью все умирает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Пт май 24, 2019 10:56:07 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
всегда говорил и могу повторить не стесняясь: все проблемы от написания кода тяп-ляп. у вас в кучу смешан и счет, и резервирование данных в EEPROM, и вывод на индикатор, и опрос внешних сигналов... и понять, что повлияло на результат практически невозможно.

приведите код к состоянию, когда каждое функциональное действие - отдельная функция, а в main только увязка их между собой - гарантирую, что проблема исчезнет или вы мгновенно поймете, в чем именно она заключается и исправите её.
даю наводку:
1. вывод на регистры (индикаторы) - отдельная функция, вызываемая в main только в одном месте единожды
2. сохранение показаний в EEPROM - отдельная функция, вызываемая в main только в одном месте единожды
3. счет событий я бы тоже сделал отдельной функцией, вызываемой из одного места... но не обязательно, ибо так могут быть проблемы со скоростью счета - решать вам
4. если кнопки чем-то управляют, то опрос их состояния тоже отдельная функция.

гарантирую вам, что следование моим советам быстро поможет вам решить проблему и результат будет хорош как по красоте кода, так и по его функционалу.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Пт май 24, 2019 11:24:59 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Yarikkasl, если бы я еще знал, что и как должно работать. Как сделать так, чтобы не вываливаться за индекс массива я указал. Реакция на кнопки в Вашем коде непредсказуема, так как никаких попыток устранить их дребезг не пердпринимается. Почему данные обновляются на индикаторе не тогда, когда они изменяются, а только при нажатии кнопки на PA2 (или PA2 и PA3) - мне тоже не понятно. Для чего нужны переменные sr1 и sr2 - загадка. Так как физически нажать одновременно две кнопки невозможно (одна из них всегда нажмется первой), то при нажатии на две кнопки всегда будет отрабатывать последний if, а предыдущий - только если за 0.2 секунды не успели кнопки отпустить.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Пт май 24, 2019 11:26:53 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14077
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Насчет "полного аналога 1887ве7т" - я б так утверждать не рискнул...
Даташиты надо ДЕТАЛЬНО изучить...
8)
Ну и саму задачу...
Для самокалибрующегося счетчика выданных аппаратом (копировалкой) листочков
текущего клиента с функцией сортировки по форматам и "вложенного клиента"(внезапно спешащего)
да суммарного накопителя результата для хозяина аппарата хватило и DS1307 + AT89C2051.
Там только за батарейкой раз в году проследить требовалось.
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Пт май 24, 2019 11:31:24 
Первый раз сказал Мяу!

Зарегистрирован: Чт май 23, 2019 07:59:45
Сообщений: 24
Откуда: Екатеринбург
Рейтинг сообщения: 0
BOB51, в даташите благо он на родном, есть раздел в котором сказанное чем они отличаются, но к моей задаче это не имеет отношения.проблемы питания тут нет, хоть 1 кВт, другое дело что я не совсем програмист


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Пт май 24, 2019 11:38:35 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14077
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Питание - вопрос актуален если требуется независимая от контролируемого устройства работа с сохранением результата оперативного подсчета.
А ЕЕПРОМ или вариант записи в ПЗУ в отдельную область в режиме самопрограммирования необходимо лишь для итоговых результатов за более крупный интервал времени работы.
В принципе скорость записи в ОЗУ значительно выше, чем в ЕЕПРОМ или в ПЗУ.
Это не программиста решение, а схемотехника.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Пт май 24, 2019 11:49:16 
Первый раз сказал Мяу!

Зарегистрирован: Чт май 23, 2019 07:59:45
Сообщений: 24
Откуда: Екатеринбург
Рейтинг сообщения: 0
ПростоНуб, A0 используется для подачи импульсов число которых учитывается, А1 используется в качестве признака, она все время замкнута в процессе счёта либо нет, А2 используется как признак подключения индикаторов, А3 просто кнопка которую нажимает пользователь что бы увидеть другое значение, я изначально сделал в формате pina=*0b00001110 но мне посоветовали не смотреть на другие пины и использовать только те которые используются ведь может быть признак на A1 и подключен индикатор. Что касается констант с отрицательными значениями их назначение я не особо понимаю, но на счёт они не влияют, я вообще особо не понимаю почему оно не работает как нужно

Добавлено after 2 minutes 6 seconds:
ARV, понимать бы ещё что вы мне посоветовали, примерно я понимаю, но вот детально нет, в принципе я понял что мне советуете, а вот как реализовать не особо

Добавлено after 2 minutes 31 second:
BOB51, нет питание не независимо, работать будет так. 1. Подали питание, через какое то время не менее 10 минут будут импульсы длинные около минуты и не чаще раза в,5 минут, когда счёт прекратиться не менее чем через час подача питания прекращается


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Пт май 24, 2019 11:53:16 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Yarikkasl писал(а):
я понял что мне советуете, а вот как реализовать не особо
есть несколько вариантов решения этой проблемы:
1. вы изучаете язык Си и пытаетесь следовать моим советам под контролем форумчан, думаю, помощь в ваших попытках будет оказана весьма оперативно
2. вы размещаете в разделе "Работа" предложение сделать код за вас, разумеется, перед этим вы составляете подробное описание задачи (делаете ТЗ). предполагаю, что на задачу подобной сложности не потребуется более 3000 рублей.
есть и другие варианты той или иной степени приемлемости, но их поиск я оставляю вам :)

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Eeprom
СообщениеДобавлено: Пт май 24, 2019 11:56:55 
Первый раз сказал Мяу!

Зарегистрирован: Чт май 23, 2019 07:59:45
Сообщений: 24
Откуда: Екатеринбург
Рейтинг сообщения: 0
ARV, я ещё напишу


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 40 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y