Официальный сайт компании Arduino по адресу arduino.cc
Arduino+24C256
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Вс, 12/07/2020 - 18:56
Народ, please, help me!
Есть такая штука. Вроде бы 256К памяти. Как в неё записать файл, например, с картинкой в формате BMP или ролик MP4? А потом прочесть. Чтобы через Arduino. Буду весьма благодарен за пример.
Пример с чтением с SD Card не нужен - не использую.
у нее емкость 256 Кбит, а не Килобайт , то есть килобайт там всего 32
Чтобы записать туда файл. нужно сначала организовать на этом носителе файловую систему. Это, прямо скажем, не самый эффективный способ использования для такого маленькго обьема. Лучше положить туда картинку в виде байтового массива. без всяких файлов, аналогично тому как загружаются BMP в ПРОГМЕМ
Если по минимуму, то мне нужно положить туда три картинки BMP и звуковой файлик MP3.
30 килобайт должно хватить. Но даже по-байтно не получается разместить. Все примеры, которые нашел - один-два байта, и с адресацией полная неясность
Какая может быть "неясность" с адресами, ведь есть же даташит, где все расписано? А мало даташита - почему бы для начала не поискать в гугле что-нибудь типа "arduino at24с32" ?
примеров просто валом, например вот библиотека
https://github.com/mikaelpatel/Arduino-Storage
Если по минимуму, то мне нужно положить туда три картинки BMP и звуковой файлик MP3.
30 килобайт должно хватить. Но даже по-байтно не получается разместить. Все примеры, которые нашел - один-два байта, и с адресацией полная неясность
Единственная тонкость: память имеет страничную организацию и на запись страницы уходит довольно много времени, в течение которого микросхему не следует беспокоить.
Т.е. если Вы при записи переходите с одной страницы на другую, либо если Вы сразу после записи осуществляете чтение, необходимо выдержать паузу 5 мс. Размер страницы, если мне не изменяет память, 64 байта.
Кстати, если объема одной микросхемы не хватит, их без проблем можно установить до 8 штук. Т.е. всего получите 256 кбайт.
Валом то валом, но я искал даташит на 24С256. Нашел, но в нем сугубо физические характеристики, по программированию ничего нет.
Попытка скачать zip из github-а по вашей ссылке дает ошибку
А можно программку, которая заполняет всю эту память байтиками типа 0хFF
и другую программку, которая все это читает?
Кстати, если объема одной микросхемы не хватит, их без проблем можно установить до 8 штук. Т.е. всего получите 256 кбайт.
Я знаю, спасибо! Но тут хотя бы одну "победить".
Валом то валом, но я искал даташит на 24С256.
ищите даташит на 24с32 или 64 - во всех чипах этой серии обьемом 32 кбит и более принцпип адресации одинаков
Удивляюсь на вас. Вроде 4 года на форуме и, судя по истории поиска - даже одно время брали коммерческие заказы на программирование... Примеров на 24с32 в инете много. Предлагаете искать из за вас? - переходите в "Ищу исполнителя", назначайте цену - договоримся :)
Удивляюсь на вас. Вроде 4 года на форуме и, судя по истории поиска - даже одно время брали коммерческие заказы на программирование... Примеров на 24с32 в инете много. Предлагаете искать из за вас? -
Любезный!
Водительские права у меня с 1975 года.
А вот на "Запорожце" ездить ни разу не приходилось.
Вы хотите меня обсудить или помочь мне?
Я не хочу вас утруждать, чес слово...
переходите в "Ищу исполнителя", назначайте цену - договоримся :)
И еще...
Что касается моего водительского удостоверения и коммерческих заказов...
Когда я куда-нибудь еду и попадаются попутчики, я НИКОГДА не требую с них денег...
Знаете, бывает иногда такое - стоят рядом с дорогой, голосуют...
Ситуация может быть такой, что у человека нет денег даже на автобусный билет...
Но когда ко мне подходят и просят отвезти в другой город, поселок, на дачу и т п...
То это совсем другое дело...
Я спросил у тех, кто сталкивался с этим устройством, пример программы...
У тех, кто с этой приблудой не сталкивался,
но готов разобраться за деньги в течении NN-ого количества дней,
я помощи не прошу.
Только и всего...
Кстати, сегодня zip по вашей ссылке скачался!
Спасибо!
У тех, кто с этой приблудой не сталкивался,
но готов разобраться за деньги в течении NN-ого количества дней,
я помощи не прошу.
принято, удачи в поисках :)
А можно программку, которая заполняет всю эту память байтиками типа 0хFF
и другую программку, которая все это читает?
Все-таки удивляюсь когда люди даже в гугле ничего найти не могут :)
запись:
чтение:
источник кода: https://forum.arduino.cc/index.php?topic=555794.0
библиотека: https://github.com/cyberp/AT24Cx
ЗЫ если чо - код не проверял, могут быть опечатки. Хотя грубых ошибок вроде нет
Что касается моего водительского удостоверения и коммерческих заказов...
Когда я куда-нибудь еду и попадаются попутчики, я НИКОГДА не требую с них денег...
Знаете, бывает иногда такое - стоят рядом с дорогой, голосуют...
Ситуация может быть такой, что у человека нет денег даже на автобусный билет...
Но когда ко мне подходят и просят отвезти в другой город, поселок, на дачу и т п...
То это совсем другое дело...
Старая гвардия. Сейчас всё по другому. Всё упирается в деньги. Редкие исключения не в счёт.
Старая гвардия. Сейчас всё по другому. Всё упирается в деньги. Редкие исключения не в счёт.
старая гвардия хотя бы гуглем пользоваться умеет
Старая гвардия. Сейчас всё по другому. Всё упирается в деньги. Редкие исключения не в счёт.
То, что в деньги, это понятно.
Подобный пример у меня есть. Вот он. Работает. Но теперь непонятки со страничкой. Ладно. Попытаюсь заменить содержимое yy[] на картинку BMP, если прокатит, то ура!
Подобный пример у меня есть. Вот он. Работает.
ну-ну...
Во-первых, в вашем чипе нет ячейки с адресом 32768. Во-вторых. писать в чип значения FF не стоит, некоторые чипы памяти с завода именно FF и заполнены, выберите что-то другое.
писать в чип значения FF не стоит, некоторые чипы памяти с завода именно FF и заполнены
Не некоторые, а все, которые прикидываюся ПЗУ. Традиция-с.
ТС, анажды я написал биб-ку для всех AT24Схх (хх=32...512), с кэшированием страницы как на запись, так и на чтение. Если еще актуально, завтра могу поделиться, потестироваешь.
ТС, анажды я написал биб-ку для всех AT24Схх (хх=32...512)
это не твоя? :)
https://github.com/cyberp/AT24Cx
Во всей этой истории меня озадачивает MP3 в EEPROM-ке. С BMP, может, TC и справится, но вот MP3...
ТС, анажды я написал биб-ку для всех AT24Схх (хх=32...512)
это не твоя? :)
https://github.com/cyberp/AT24Cx
Не, я на Git не выкладывал. Моя отличается тем, что единообразно работает и с внутренним EEPROM и с любым внешним. Разница только в конструкторе.
Во всей этой истории меня озадачивает MP3 в EEPROM-ке. С BMP, может, TC и справится, но вот MP3...
даже не МР3, а МР4 - см в первом сообщении
ну-ну...
Во-первых, в вашем чипе нет ячейки с адресом 32768. Во-вторых. писать в чип значения FF не стоит, некоторые чипы памяти с завода именно FF и заполнены, выберите что-то другое.
Это из даташита
I2C-Compatible (2-Wire) Serial EEPROM
256-Kbit (32,768 x 8)
Могу выслать
писать в чип значения FF не стоит, некоторые чипы памяти с завода именно FF и заполнены, выберите что-то другое.
Да ради бога! Подскажите. Можно 10101010?
Это из даташита
256-Kbit (32,768 x 8)
Могу выслать
Ага, ячеек 32,768, с номерами с 0 по 32767 :)
вы меня все больше и больше веселите :)
ТС, анажды я написал биб-ку для всех AT24Схх (хх=32...512), с кэшированием страницы как на запись, так и на чтение. Если еще актуально, завтра могу поделиться, потестироваешь.
С удовольствием! И доложу результаты!
Да ради бога! Подскажите. Можно 10101010?
любой за пределами стандартной таблицы ASCII, да хотя бы FE вместо FF
*********************
Во всей этой истории меня озадачивает MP3 в EEPROM-ке. С BMP, может, TC и справится, но вот MP3...
Как то надо обозначать нажатие кнопок на пульте. Где-то и когда-то мне попадался скетч с проигрышем звуков.
Задумка - при "оживлении" пульта на экранчике происходит "взрыв" логотипа, сопровождающийся звуком. Затем появляются пронумерованные кнопки. При нажатии кнопок - короткий звук.
Как то надо обозначать нажатие кнопок на пульте. Где-то и когда-то мне попадался скетч с проигрышем звуков.
Задумка - при "оживлении" пульта на экранчике происходит "взрыв" логотипа, сопровождающийся звуком. Затем появляются пронумерованные кнопки. При нажатии кнопок - короткий звук.
МП3 для этого явно излишен. Если хотите с МП3 - вставьте в конструкцию внешний МП3 плеер, у китайцев есть готовые маленькие модули в два раза меньше Ардуино-Нано
Как то надо обозначать нажатие кнопок на пульте. Где-то и когда-то мне попадался скетч с проигрышем звуков.
Прямо с MP3-декодированием 328-м МК и проигрышем на спикер? Я бы посмотрел на это.
Прямо с MP3-декодированием 328-м МК и проигрышем на спикер? Я бы посмотрел на это.
Такие нюансы мне неизвестны
МП3 для этого явно излишен. Если хотите с МП3 - вставьте в конструкцию внешний МП3 плеер, у китайцев есть готовые маленькие модули в два раза меньше Ардуино-Нано
Спасибо! Поищу!
Прямо с MP3-декодированием 328-м МК и проигрышем на спикер? Я бы посмотрел на это.
Такие нюансы мне неизвестны
В исходном сообщении Вы говорили про записать/прочитать - это без проблем.
А потом уже пишете про "озвучку", а для стандартной Ардуины воспроизведение mp3 - явно за гранью реальности.
Вы уж определитесь, чего именно Вы хотите.
в вашем чипе нет ячейки с адресом 32768.
Это из даташита
I2C-Compatible (2-Wire) Serial EEPROM
256-Kbit (32,768 x 8)
Могу выслать
После этого, желание что-то выкладывать существенно поубавилось. Не в коня авёс.
А потом уже пишете про "озвучку", а для стандартной Ардуины воспроизведение mp3 - явно за гранью реальности.
Вы уж определитесь, чего именно Вы хотите.
Я так понимаю, ТС хочет просто какой то звук, а не оперные концерты в HiFi слушать.
Никогда так не делал, но нельзя ли просто прицепить бипер на аналоговый выход и подавать на него сигнал 00-FF с периодом (к примеру) 100 мс? Вот массив этих сигналов и записать в память...
Поинтересуйтесь стандартным способом тестирования памяти на ошибки. Можно просто запустить memtest и посмотреть какие тесты он прогоняет.
Самый простой вариант - запись/чтение 10101010, затем 01010101. Ну и напоследок 0. Это покажет есть ли битые биты памяти.
Ну и если страница равна 64 байта, то отдать первую страницу под результат диагностики - если бит равен 0, то страница неисправна, если 1, то исправна. Причем первый бит будет показывать исправность контрольной страницы.
Никогда так не делал, но нельзя ли просто прицепить бипер на аналоговый выход и подавать на него сигнал 00-FF с периодом (к примеру) 100 мс? Вот массив этих сигналов и записать в память...
Можно, только звука слышимого эта конструкция издавать не будет.
Никогда так не делал, но нельзя ли просто прицепить бипер на аналоговый выход и подавать на него сигнал 00-FF с периодом (к примеру) 100 мс? Вот массив этих сигналов и записать в память...
Можно, только звука слышимого эта конструкция издавать не будет.
Все верно. Надо частоту повыше. Ну и я думаю частота еще и плавающая должна быть. Можно конечно и буззер сделать - 50Гц, 20мс на цикл 00-FF. Но хоть какую-нибудь музыку можно от 8кГц сделать вроде (12.5мкс на период). Надо смотреть как во всяких старых ПК делалось (например у Спектрума).
Не моё. Автор указан.)
music.h
После этого, желание что-то выкладывать существенно поубавилось. Не в коня авёс.
Что вас обидело? Не нашли свою библиотеку?
Поинтересуйтесь стандартным способом тестирования памяти на ошибки. Можно просто запустить memtest и посмотреть какие тесты он прогоняет.
Самый простой вариант - запись/чтение 10101010, затем 01010101. Ну и напоследок 0. Это покажет есть ли битые биты памяти.
Ну и если страница равна 64 байта, то отдать первую страницу под результат диагностики - если бит равен 0, то страница неисправна, если 1, то исправна. Причем первый бит будет показывать исправность контрольной страницы.
В добрые старые времена был целый комплекс тестов МОЗУ для ЭВМ "М-222"
и указанный вами, и такой FF00FF00FF00... 00FF00FF00... и FFFFFFF.... 0000000....
Дисплеев не было - были табло, при проверках МОЗУ сияли как новогодние елки.
Хотя при работе машины тоже сияли. Светодиодов тогда не было,
в табло использовались советские микролампочки, но, удивительно,
они были довольно надежными и перегорали очень редко.
Ну у нас не такое массовое производство, плохие микросхемы будем сразу отбраковывать.
Будем прогонять через барокамеру ( давление ) и термокамеру (температура ),
в работу пускать "выжившие".
Вы уж определитесь, чего именно Вы хотите.
В том то и дело, что еще не определились.
И определять будет директор ( он же владелец ) завода.
Мне только подготовить рекомендации.
Но вначале надо, чтобы механика заработала...
Но это уже чисто мои проблемы, тем более, что они постепенно преодолеваются,
там особых проблем нет.
Я так понимаю, ТС хочет просто какой то звук, а не оперные концерты в HiFi слушать.
Никогда так не делал, но нельзя ли просто прицепить бипер на аналоговый выход и подавать на него сигнал 00-FF с периодом (к примеру) 100 мс? Вот массив этих сигналов и записать в память...
Совершенно верно.
Нажали кнопочку на пульте - "бип!"
Включился или отработал какой-то процесс - "би-бип!"
Можно, только звука слышимого эта конструкция издавать не будет.
Через усилок пустить?
Никогда так не делал, но нельзя ли просто прицепить бипер на аналоговый выход и подавать на него сигнал 00-FF с периодом (к примеру) 100 мс? Вот массив этих сигналов и записать в память...
Да, Arduino Due вполне способна воспроизводить звук, и даже довольно высокого качества (выше, чем советская аудиоаппаратура высшего класса), но вот справится ли она с декодированием mp3 в реальном времени - не знаю. При этом объем flash у нее таков, что может хранить короткие несжатые аудиофрагменты (порядка трех секунд СТЕРЕО).
Нажали кнопочку на пульте - "бип!"
Включился или отработал какой-то процесс - "би-бип!"
Можно, только звука слышимого эта конструкция издавать не будет.
Через усилок пустить?
Т.е. рекомендации производителю к железу готовит человек, который не знает, чего от этого железа ожидать нельзя и на чем можно сыканомить. Это что, советская школа?