Ivan Rusev Опубликовано 8 марта, 2021 Поделиться Опубликовано 8 марта, 2021 Можно ли на одно шине I2C подключать модуль часов реального времени ds3231 и LCD через модульI2C.У меня не получается почему? -2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex Опубликовано 8 марта, 2021 Поделиться Опубликовано 8 марта, 2021 10 минут назад, Ivan Rusev сказал: Можно ли .... Можно. 10 минут назад, Ivan Rusev сказал: У меня не получается почему? А кто ж это знает, кроме Вас ? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
Ivan Rusev Опубликовано 8 марта, 2021 Автор Поделиться Опубликовано 8 марта, 2021 Наверное вы?.Так как это возможно реализовать? -2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Alex Опубликовано 8 марта, 2021 Поделиться Опубликовано 8 марта, 2021 Что конкретно делаете, и какие результаты не устраивают ? Подробнее опишите. На вопрос "Как реализовать ?" есть 1000 и 1 ответ. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
elki Опубликовано 8 марта, 2021 Поделиться Опубликовано 8 марта, 2021 Почитать как осуществляется обмен даннымии на шине i2c и реализовать. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
john2103 Опубликовано 8 марта, 2021 Поделиться Опубликовано 8 марта, 2021 Ванговать, можно на многое, от неправильного адреса устройства, до... контакта в соединении. Тут бы хоть схему подключения минимальную, часть кода ( хотя бы в части касающийся) и результат при определенном варианте. Это минимум 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Ivan Rusev Опубликовано 9 марта, 2021 Автор Поделиться Опубликовано 9 марта, 2021 На STM LCD ничего не показывает.Перебрасываю LCD на другую шину I2C всё хорошо. 6 часов назад, elki сказал: Почитать как осуществляется обмен даннымии на шине i2c и реализовать. Всё прочитано.И реализовано.Правда на разных шинах. -2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex Опубликовано 9 марта, 2021 Поделиться Опубликовано 9 марта, 2021 Если Вы хотите, чтобы Вам просто посочувствовали, то пожалуйста - сочувствую... 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
elki Опубликовано 9 марта, 2021 Поделиться Опубликовано 9 марта, 2021 4 часа назад, Ivan Rusev сказал: Всё прочитано. Тогда вопрос. Сколько устройств можно повесить на одну шину? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Ivan Rusev Опубликовано 9 марта, 2021 Автор Поделиться Опубликовано 9 марта, 2021 Ну наверное 10.Но прикол снять информацию с этой же шины и вывести на lCD не удаётся по практике Можете хоть 1000 минусов мне ставить .Почему не удаётся?.Я попытаюсь На AVR это сделать. Какие нарушения у меня.Какой то бред.Форум для кого создан.Для посиделок.Вобщем ну вас ..... 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
elki Опубликовано 9 марта, 2021 Поделиться Опубликовано 9 марта, 2021 Если с адресами все в порядке то проблема в коде, в обработке и отправке данных. без схемы и кода никто не поможет. Можно посмотреть логическим анализатором что на шине происходит. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Ivan Rusev Опубликовано 9 марта, 2021 Автор Поделиться Опубликовано 9 марта, 2021 Только что, elki сказал: Если с адресами все в порядке то проблема в коде, в обработке и отправке данных. без схемы и кода никто не поможет. Можно посмотреть логическим анализатором что на шине происходит. Спасибо. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Eddy_Em Опубликовано 9 марта, 2021 Поделиться Опубликовано 9 марта, 2021 Код случаем не калокубом сгенерирован? Если да, то сочувствую... 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex Опубликовано 9 марта, 2021 Поделиться Опубликовано 9 марта, 2021 1 час назад, Ivan Rusev сказал: Форум для кого создан. Тогда Вы форумом ошиблись. Тут гадалки и экстрасенсы не тусят. Невозможно Вам помочь по фразе "У меня не работает". 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Ivan Rusev Опубликовано 9 марта, 2021 Автор Поделиться Опубликовано 9 марта, 2021 1 час назад, Eddy_Em сказал: Код случаем не калокубом сгенерирован? Если да, то сочувствую... Нет настройка вручную.По регистрам.Но вы мне подсказали.Проблема в коде LCD скорее всего. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Eddy_Em Опубликовано 9 марта, 2021 Поделиться Опубликовано 9 марта, 2021 Т.е., как это полагается у ардуинщиков, из разных источников был надерган непонятный непроверенный код, слеплен в кучу, а потом появились вопросы? Ну-ну… Неоднократно пробуя найти в интернете работающие сниппеты кода, я сделал вывод, что лучше не тратить на эту бесполезную затею время, а всегда писать код самостоятельно. Это быстрей, надежней и правильней (особенно когда нужно сделать реализацию упоротых протоколов вроде 1-wire для DS18, управления адресуемыми светодиодами или светодиодными панелями)… Постепенно собираю свой набор сниппетов, который помогает сократить время при дальнейших разработках (а если вовремя разделить аппаратно-зависимую часть и алгоритмическую, то и перенести на другой МК будет несложно в случае необходимости). 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Ivan Rusev Опубликовано 10 марта, 2021 Автор Поделиться Опубликовано 10 марта, 2021 я не ардуинщик.Просто амматор.Вот код . stm32f407ve adc.7z Не всегда то что работат в avr то будет работать в stm32 Вернее ещё он будет работать .Но не так. -1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Eddy_Em Опубликовано 10 марта, 2021 Поделиться Опубликовано 10 марта, 2021 (изменено) Какая жуткая реализация DHT22! Ну есть же таймер, есть АЦП, зачем делать блокирующие операции? Мой пример. Еще одна жесть — в main: 12 одинаковых массивов bufN[50] - почему не сделать двумерный массив или одномерный buf[N*50]? Все вот эти uint8_t bm[] и т.п. нужно объявлять как static const, иначе они будут занимать место в оперативке, а не сидеть только во флеше. Да и здесь тоже правильней было бы сделать один длинный массив. Объявление переменных транслитерацией русского (pauza и т.п.) — некомильфо, как и комментарии не на английском языке. Структура кода ужасная: нет общего стиля написания, читать нереально сложно. Поток копипасты вроде 100500 LCD_SendChar еще раз свидетельствуют об ардуиноподходе — почему бы не объявить функцию, которая будет печатать строки? Еще и sprintf на МК… Жуть в полоску!!! 100500 if(menu == x) надо было одним селектом заменить, а чтобы код легче читать, не городить простыню, а разбить внутренности на отдельные static inline функции. Если одна функция расползается на кучу экранов, это значит, что что-то в ней явно не так! Инициализация LCD сделана через одно место! Опять абдуриноподход… Ну неужели сложно засунуть все эти магические числа в массив (да и вместо магических чисел нужны макросы, чтобы не мучить себя в будущем воспоминанием, зачем же эта тройка или пятерка передается). Во второй массив загнать величину пауз при инициализации. В этом случае все будет красиво: в цикле отправляем нужное, а если требуется пауза - выдерживаем ее. В инициализации I2C: лишний раз напомню, что регистры МК волатильны! Т.е. компилятор не будет оптимизировать 100500 записей подряд вида REGx &= a; REGx |= b; в одну, а так и будет тратить флеш и такты ядра на эту чепуху! Так что правильно писать один раз: REGx = (REGx & ~clearflags) | (setflags); Изменено 10 марта, 2021 пользователем Eddy_Em Добавил страшную картинку 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Ivan Rusev Опубликовано 10 марта, 2021 Автор Поделиться Опубликовано 10 марта, 2021 это не моя Библиотека.Я только настроил шини I2C.И запустил DS3231 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Ivan Rusev Опубликовано 10 марта, 2021 Автор Поделиться Опубликовано 10 марта, 2021 8 часов назад, Eddy_Em сказал: Какая жуткая реализация DHT22! Ну есть же таймер, есть АЦП, зачем делать блокирующие операции? Мой пример. Еще одна жесть — в main: 12 одинаковых массивов bufN[50] - почему не сделать двумерный массив или одномерный buf[N*50]? Все вот эти uint8_t bm[] и т.п. нужно объявлять как static const, иначе они будут занимать место в оперативке, а не сидеть только во флеше. Да и здесь тоже правильней было бы сделать один длинный массив. Объявление переменных транслитерацией русского (pauza и т.п.) — некомильфо, как и комментарии не на английском языке. Структура кода ужасная: нет общего стиля написания, читать нереально сложно. Поток копипасты вроде 100500 LCD_SendChar еще раз свидетельствуют об ардуиноподходе — почему бы не объявить функцию, которая будет печатать строки? Еще и sprintf на МК… Жуть в полоску!!! 100500 if(menu == x) надо было одним селектом заменить, а чтобы код легче читать, не городить простыню, а разбить внутренности на отдельные static inline функции. Если одна функция расползается на кучу экранов, это значит, что что-то в ней явно не так! Инициализация LCD сделана через одно место! Опять абдуриноподход… Ну неужели сложно засунуть все эти магические числа в массив (да и вместо магических чисел нужны макросы, чтобы не мучить себя в будущем воспоминанием, зачем же эта тройка или пятерка передается). Во второй массив загнать величину пауз при инициализации. В этом случае все будет красиво: в цикле отправляем нужное, а если требуется пауза - выдерживаем ее. В инициализации I2C: лишний раз напомню, что регистры МК волатильны! Т.е. компилятор не будет оптимизировать 100500 записей подряд вида REGx &= a; REGx |= b; в одну, а так и будет тратить флеш и такты ядра на эту чепуху! Так что правильно писать один раз: REGx = (REGx & ~clearflags) | (setflags); А вообще спасибо вам что вы посоветовали пересмотреть.DHT22 И переписать чужую библиотеку.Я ничего против Ардуино не имею .Правда мне многое там не понятно и запутано. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
LiVit Опубликовано 10 марта, 2021 Поделиться Опубликовано 10 марта, 2021 8 часов назад, Eddy_Em сказал: Какая жуткая реализация DHT22! Ну есть же таймер, есть АЦП, зачем делать блокирующие операции? Мой пример. Он же написал, что он "аматор", что бы это ни значило)))) что вы ему пишете, думаете он соображает? Каждый раз с ТС-а удивляюсь. Вот явно это не его. Зачем мучается? На его месте нормальные люди уже давно софтварно обошли бы, если сроки горят. Или взяли бы почитали референс, подключили логический анализатор и разобрались, кто кому жить мешает. Нет, он каждый раз упорно пытается делать то, что не понимает, берет чужие либы, не читая их, пытается запустить. Если я не разбираюсь в работе ДВС - я не лезу. Зарабатываю денег на том что умею, а потом плачу специалисту, если машина у меня не едет. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Eddy_Em Опубликовано 10 марта, 2021 Поделиться Опубликовано 10 марта, 2021 Похоже, человек пытается стать радиолюбителем. Правда, начал с совершенно неправильных вещей. С таким подходом ничего хорошего не получится. Так рождаются разве что абдуринщики: код писать не умеет, об оптимизации вообще ничего не слыхал, даташиты с RM читать не умеет, логанализатор не знает… 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Ivan Rusev Опубликовано 10 марта, 2021 Автор Поделиться Опубликовано 10 марта, 2021 53 минуты назад, LiVit сказал: Он же написал, что он "аматор", что бы это ни значило)))) что вы ему пишете, думаете он соображает? Каждый раз с ТС-а удивляюсь. Вот явно это не его. Зачем мучается? На его месте нормальные люди уже давно софтварно обошли бы, если сроки горят. Или взяли бы почитали референс, подключили логический анализатор и разобрались, кто кому жить мешает. Нет, он каждый раз упорно пытается делать то, что не понимает, берет чужие либы, не читая их, пытается запустить. Если я не разбираюсь в работе ДВС - я не лезу. Зарабатываю денег на том что умею, а потом плачу специалисту, если машина у меня не едет. ну у меня нет 20 летнего стажа.Как у вас.Вы же спецы.Что такое оптимизация я знаю.По по воду кода ничего не могу сказать.Есть люди знающие вроде вас .Ноя иногда читаю на форумах ваши заумные коды которые вы мне предлагаете.Нут например один товарищь или господин .Показал мне как он реализовал тактирование контроллера.Он запустил и внутреннюю частроту.И кварц.Я ведь не до такой степени идиот.Это камень в ваш огород.Тот кто здесь высиживает золотые яйца.Свои или чужие.Выдавая их за свои.Я пишу по простому.Может правильно.А может нет.Но оно работает.Да я пользуюсь чужими библиотеками.Иногда корректирую и дописываю своё что то.Я не программист.А эксперементатор.RM не раз читал.Таймера АЦП I2C .Но вс 46 минут назад, Eddy_Em сказал: Похоже, человек пытается стать радиолюбителем. Правда, начал с совершенно неправильных вещей. С таким подходом ничего хорошего не получится. Так рождаются разве что абдуринщики: код писать не умеет, об оптимизации вообще ничего не слыхал, даташиты с RM читать не умеет, логанализатор не знает… Как же вы с таким стажем можете быть стареньким?Я радиолюбитель.С контролерами начал с нуля.Абсолютний ноль .Я ни кем ни пытаюсь стать.Вами точьно не стану.У меня нет такой цели.Так как спецы такие как вы.Отечеству не нужны.Нашему Отечеству нужны бараны.Но я преследую конкретные цели.И хочу их реализовать. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Ivan Rusev Опубликовано 10 марта, 2021 Автор Поделиться Опубликовано 10 марта, 2021 1 час назад, LiVit сказал: Он же написал, что он "аматор", что бы это ни значило)))) что вы ему пишете, думаете он соображает? Каждый раз с ТС-а удивляюсь. Вот явно это не его. Зачем мучается? На его месте нормальные люди уже давно софтварно обошли бы, если сроки горят. Или взяли бы почитали референс, подключили логический анализатор и разобрались, кто кому жить мешает. Нет, он каждый раз упорно пытается делать то, что не понимает, берет чужие либы, не читая их, пытается запустить. Если я не разбираюсь в работе ДВС - я не лезу. Зарабатываю денег на том что умею, а потом плачу специалисту, если машина у меня не едет. Значит я ненормальный амматор.Кое что соображаю.Упорство и наглость второе счастье.Не всегда беру чужое. А вы атомную бобу пытались сделать в домашних условиях.?А что вы умеете? Писать программы? Или ставить плюсы или минусы?Я не спец.На форумах не часто сижу.Не боги обжигают горшки.Ваши боги.А у меня один Аллах. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex Опубликовано 10 марта, 2021 Поделиться Опубликовано 10 марта, 2021 @Ivan Rusev , Вам ещё научиться вопросы задавать, чтобы Вас понимали - было бы огромным плюсом. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.