Работа блоков EEPROM с внешней микросхемой.
Работа блоков EEPROM с внешней микросхемой.
Добрый день, форумчане. У меня вопрос по работе с внешней памятью EEPROM.
В настройках контроллера я отключаю внутреннюю память и включаю работу с внешней микросхемой, делаю настройки: 256 байт, 50 адрес (у меня 24C02N) и контроллер не хочет (или не может?) работать с внешней микросхемой.
Применил метод исключения:
- моя программа прекрасно работает с внутренней памятью и она же не работает с внешней;
- подключена микросхема правильно, т. к. сканирование шины I2C это подтверждает - видятся сама микросхема и дисплей 1602;
- перепробованы несколько микросхем 24С02N и ни с одной микроконтроллер не захотел работать.
Я где-то на просторах форума читал, что некоторые пользователи сами пишут блоки для работы с микросхемой 24С08, в настройках блока есть микросхемы только с 32 и 256 килобитной памятью. У меня таймер для включения и выключения нагрузки и мне нужно хранить время для блоков будильника, в общем 12 байт, и нет смысла использовать микросхему на 4 килобайта или ещё больше. С другими микросхемами (которых нет в настройках блока) стандартный блок не работает?
В настройках контроллера я отключаю внутреннюю память и включаю работу с внешней микросхемой, делаю настройки: 256 байт, 50 адрес (у меня 24C02N) и контроллер не хочет (или не может?) работать с внешней микросхемой.
Применил метод исключения:
- моя программа прекрасно работает с внутренней памятью и она же не работает с внешней;
- подключена микросхема правильно, т. к. сканирование шины I2C это подтверждает - видятся сама микросхема и дисплей 1602;
- перепробованы несколько микросхем 24С02N и ни с одной микроконтроллер не захотел работать.
Я где-то на просторах форума читал, что некоторые пользователи сами пишут блоки для работы с микросхемой 24С08, в настройках блока есть микросхемы только с 32 и 256 килобитной памятью. У меня таймер для включения и выключения нагрузки и мне нужно хранить время для блоков будильника, в общем 12 байт, и нет смысла использовать микросхему на 4 килобайта или ещё больше. С другими микросхемами (которых нет в настройках блока) стандартный блок не работает?
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Работа блоков EEPROM с внешней микросхемой.
Встроенная поддержка только для больших микрух. Связано с разным форматом адреса ячейки - один или два байта. У Вас умещается в один байт - увы...zvukache писал(а): 04 дек 2018, 13:29С другими микросхемами (которых нет в настройках блока) стандартный блок не работает?
Отправлено спустя 37 минут 26 секунд:
Сделаю блочок - какие данные: тип, кол-во для одного "массива".
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Работа блоков EEPROM с внешней микросхемой.
Спасибо за ответ. Я начинающий и об адресе ячейки не подумал.
Не представляю себе какие именно данные нужно хранить в объеме 4 килобайт - это больше двух тысяч переменных типа int. По киевским ценам разница между десятью микросхемами 24С02 и 24С32 - три с половиной цента, но, как говорил мой дедушка, зачем гнать грузовик, чтобы доставить на поле одного рабочего?
В моем случае это четыре будильника (по два на каждый таймер) + включено/выключено. Всего на каждый будильник: две переменных типа байт (часы:минуты) и одна булева (вкл/выкл). Спасибо за предложение написать блочок для работы с маленькой микросхемой. Но писать отдельный блок для выполнения одной конкретной задачи как-то не комильфо.
Скажите пожалуйста (не сочтите за наглость), а можно ли написать что-то вроде универсального блока (как встроенный блок), где в настройках блока можно было бы задавать тип переменной (хотя бы из трех: булева, байт и интеджер) и таких блоков в проекте можно было бы использовать столько, сколько нужно?
Не представляю себе какие именно данные нужно хранить в объеме 4 килобайт - это больше двух тысяч переменных типа int. По киевским ценам разница между десятью микросхемами 24С02 и 24С32 - три с половиной цента, но, как говорил мой дедушка, зачем гнать грузовик, чтобы доставить на поле одного рабочего?
В моем случае это четыре будильника (по два на каждый таймер) + включено/выключено. Всего на каждый будильник: две переменных типа байт (часы:минуты) и одна булева (вкл/выкл). Спасибо за предложение написать блочок для работы с маленькой микросхемой. Но писать отдельный блок для выполнения одной конкретной задачи как-то не комильфо.
Скажите пожалуйста (не сочтите за наглость), а можно ли написать что-то вроде универсального блока (как встроенный блок), где в настройках блока можно было бы задавать тип переменной (хотя бы из трех: булева, байт и интеджер) и таких блоков в проекте можно было бы использовать столько, сколько нужно?
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Работа блоков EEPROM с внешней микросхемой.
Нет, проще сделать чистые byte входы и на них подавать нужное, предварительно разложив при необходимости на байты.zvukache писал(а): 05 дек 2018, 16:13Скажите пожалуйста (не сочтите за наглость), а можно ли написать что-то вроде универсального блока (как встроенный блок), где в настройках блока можно было бы задавать тип переменной (хотя бы из трех: булева, байт и интеджер) и таких блоков в проекте можно было бы использовать столько, сколько нужно?
Я просто слегка подредактирую свои старые под одно байтовый адрес запоминающего пространства и соответствующие входы/выходы.zvukache писал(а): 05 дек 2018, 16:13Но писать отдельный блок для выполнения одной конкретной задачи как-то не комильфо.
Вместо bool будет байт - один бит не пишется, минимум 8 - байт

Отправлено спустя 4 минуты 47 секунд:
Будет bool, сделаю


Отправлено спустя 54 минуты 50 секунд:
Надеюсь, проведёшь эксперименты - разберёшься
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Работа блоков EEPROM с внешней микросхемой.
У меня часы реального времени DS1307 с AT24C32, перерыл интернет, чтоб найти как её использовать, не нашёл. [ref]zvukache[/ref], можете выложить ваш проект для примера?
Работа блоков EEPROM с внешней микросхемой.

В DS1307 наверно так-же.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Работа блоков EEPROM с внешней микросхемой.
У меня проект управления подсветкой для рассады, где используется модуль времени 1302 (там связь по трем цифровым пинам). Модуль 1307 с микросхемой памяти у меня тоже есть, но нет аккумулятора для него, поэтому решил использовать именно 1302.
Прежде всего вам нужно отключить в настройках использование внутренней памяти и оставить только внешнюю микросхему. Потом запустить скетч сканирования I2C шины и посмотреть видит ли ваш МК микросхему памяти и на каком адресе она сидит. Далее ввести адрес в настройках и всё должно получиться (в теории, сам я пока только планирую это проделать).
Прежде всего вам нужно отключить в настройках использование внутренней памяти и оставить только внешнюю микросхему. Потом запустить скетч сканирования I2C шины и посмотреть видит ли ваш МК микросхему памяти и на каком адресе она сидит. Далее ввести адрес в настройках и всё должно получиться (в теории, сам я пока только планирую это проделать).
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Работа блоков EEPROM с внешней микросхемой.
[ref]seri0shka[/ref], Какие проблемы по использованию? Никаких.
Главное - найти применение.
[ref]zvukache[/ref], попробовали блоки для 24С02?
Главное - найти применение.
[ref]zvukache[/ref], попробовали блоки для 24С02?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Работа блоков EEPROM с внешней микросхемой.
Sancho, спасибо за блок.
Правда в работе есть некоторые нюансы. Когда в проекте один блок, то он работает превосходно, а когда в проекте несколько блоков с разными номерами, то начинаются глюки. У меня в проекте пять блоков с номерами 0, 1, 2, 3, 4. В четырех блоках я использую часы и минуты, в пятом только минуты, а в первом третьем и пятом по одной булеве. Первый и пятый блоки с номерами 0 и 4 работают отлично, а вот 2-4 блоки с номерами 1, 2, 3 - не читаются часы и минуты, только булевы.
Сегодня вечером буду продолжать экспериментировать - создам генератор со счетчиком и обнулением, и буду периодически сохранять показания счетчика в разные ячейки памяти и сразу читать эти ячейки. После отпишусь.
Отправлено спустя 4 минуты 41 секунду:
Эх, если бы можно было создавать блоки на языке Ардуино (в СИ я немножко ноль).
Правда в работе есть некоторые нюансы. Когда в проекте один блок, то он работает превосходно, а когда в проекте несколько блоков с разными номерами, то начинаются глюки. У меня в проекте пять блоков с номерами 0, 1, 2, 3, 4. В четырех блоках я использую часы и минуты, в пятом только минуты, а в первом третьем и пятом по одной булеве. Первый и пятый блоки с номерами 0 и 4 работают отлично, а вот 2-4 блоки с номерами 1, 2, 3 - не читаются часы и минуты, только булевы.
Сегодня вечером буду продолжать экспериментировать - создам генератор со счетчиком и обнулением, и буду периодически сохранять показания счетчика в разные ячейки памяти и сразу читать эти ячейки. После отпишусь.
Отправлено спустя 4 минуты 41 секунду:
Эх, если бы можно было создавать блоки на языке Ардуино (в СИ я немножко ноль).

- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Работа блоков EEPROM с внешней микросхемой.
[ref]zvukache[/ref], Пришлите Ваш проект - можете в личку.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Работа блоков EEPROM с внешней микросхемой.
Как я уже писал, проект состоит из трех таймеров:
1) Утренний (работает по времени);
2) Вечерний (работает по времени);
3) Дневной (настраивается автоматически между утренним и вечерним и работает в зависимости от интенсивности наружного освещения).
Порог интенсивности освещения можно вводить вручную, или запоминать текущие показатели нажатием отдельной кнопки.
В цепь управления реле добавлены временные задержки для предотвращения ложных срабатываний от кратковременного затемнения, или засвета фоторезистора.
Запись в память происходит только в момент выхода из меню настройки времени таймеров.
Считывание сначала делал по импульсу при включении МК (через 5 секунд), или сразу после записи, но потом отказался и сделал постоянное считывание.
1) Утренний (работает по времени);
2) Вечерний (работает по времени);
3) Дневной (настраивается автоматически между утренним и вечерним и работает в зависимости от интенсивности наружного освещения).
Порог интенсивности освещения можно вводить вручную, или запоминать текущие показатели нажатием отдельной кнопки.
В цепь управления реле добавлены временные задержки для предотвращения ложных срабатываний от кратковременного затемнения, или засвета фоторезистора.
Запись в память происходит только в момент выхода из меню настройки времени таймеров.
Считывание сначала делал по импульсу при включении МК (через 5 секунд), или сразу после записи, но потом отказался и сделал постоянное считывание.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Работа блоков EEPROM с внешней микросхемой.
[ref]zvukache[/ref],
1. Я правильно понял - bool блоке времени отвечает за задействовать таймер или нет?
2. Измените логику работы меню - выбирайте таймер, номер его подавайте на блок записи.....
3. Дневной режим, если активирован, работает только по уровню освещённости или как?
Отправлено спустя 54 минуты 49 секунд:
Отключить внешнюю память в проекте!!!!!!!!!!
1. Я правильно понял - bool блоке времени отвечает за задействовать таймер или нет?
2. Измените логику работы меню - выбирайте таймер, номер его подавайте на блок записи.....
3. Дневной режим, если активирован, работает только по уровню освещённости или как?
Отправлено спустя 54 минуты 49 секунд:
Отключить внешнюю память в проекте!!!!!!!!!!
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Работа блоков EEPROM с внешней микросхемой.
1. Да.
3. Да. Работать должно только если очень пасмурно.
Отключить внешнюю память. Ясно. Попробую - отпишусь.
3. Да. Работать должно только если очень пасмурно.
Отключить внешнюю память. Ясно. Попробую - отпишусь.
Работа блоков EEPROM с внешней микросхемой.
вам видно что она подключена правильно а нам нет можно глянуть схему
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей