Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Re: BluePill - КЗ по питанию 3.3 в.

Вт фев 28, 2023 18:08:57

При печати обычных символов - не лезут

...лезут Только при работе с часами.

И что Вы шлёте на 1602 в качестве "часов"?

Re: BluePill - КЗ по питанию 3.3 в.

Вт фев 28, 2023 18:47:43

Проверял этот вопрос. Если слать без инициализации RTC символы и числа - не глючит (минимум - сутки). Работает "как часы". Если же инициализировать RTC и после этого слать что угодно - хоть число 88888, то через минуту появляются кракозябры.

Проверяю уже на другом blue pill-е подключенному к другому LCD1602 на макетке. Больше ничего не подключено. Эффект тот же.

Склонен считать, что это какой-то хитрый конфликт библиотек (по прерываниям что ли или общей области памяти, или некорректным указателям...). На этой библиотеке есть переход в режим посылки по 4 бита, а не 8. Вот, возможно, в него переключается. Причем непредсказуемо когда. Попробую его запретить. Вспомнил, что такие же кракозябры (много символа из четырех горизонтальных черточек, например) я когда-то видел при работе с этой же библиотекой и другим девайсом (SI5351) по I2C.

Библиотека навороченная, универсальная - и для ардуины, и stm32 и ESP32...
name = LiquidCrystal I²C
version = 1.2.4
author = Enjoyneering <enjoyneering@protonmail.com>

url = https://github.com/enjoyneering/LiquidCrystal_I2C

Надо найти другую, попроще и проверить. Пока не нашел такую, чтобы работала.

А всерьез странно то, что два года этих глюков не было...
Последний раз редактировалось Loyso Pondohva Вт фев 28, 2023 21:11:43, всего редактировалось 1 раз.

Re: BluePill - КЗ по питанию 3.3 в.

Вт фев 28, 2023 20:04:57

Так загляните внутрь библиотеки или хотя бы гляньте на список разделяемых ресурсов. Исходники-то и описания вот они, только руку протянуть.

Re: BluePill - КЗ по питанию 3.3 в.

Вт фев 28, 2023 20:59:20

Этим и занимаюсь. Не очень удобно, т.к. много вложенных инклюдов и условной компиляции.

Re: BluePill - КЗ по питанию 3.3 в.

Вт фев 28, 2023 22:12:48

мож тема не моя но выскажусь вслух сам по себе DCDC поока он испавен не спалит ничего болетого он даже лучше зашитить от импулдсных помех чем линейний
2 таки ништо не вечно банки пухнут/сохнут ESR растет при некотом критичном значени очередно ПП при комутации в сети может ПОЙТИ НЕ ПОПЛАНУ...
DCDC пашут годы милионами штук применяься в 100500девайсах и при этом не имеют существеных проблем...
вводить доп линейник в питание цифросхемы ЛИШНЕЕ вот еслиб там была линейная часть тогда да стоит...
3 самое хреновое когда разное питание разных цифровых узлоф -5 и 3в3 нужны конвертеры уровня а если решение костылное то может подвести...

Re: BluePill - КЗ по питанию 3.3 в.

Ср мар 01, 2023 01:28:24

Подключил дисплей через преобразователь уровней +5в а на blue pill +3.3 в. Я уж надеялся, что это и есть ответ (ибо очень логично) - но нет. Все то же...

*** Посмотрел я библиотеку Liquid_Crystal_I2C. Нормально шлет данные или кодовые символы через Wire (библиотеку собственно I2C). Читать это все трудно т.к. очень много корявых имен и меток неизвестно в каком инклюде прописанных. Но вроде бы ничего подозрительного.

Попробую (после инициализации RTC) выводить символы на Serial (т.е. на терминал Arduino IDE через USB) и на какой-нибудь другой индикатор по SPI.

Вопрос серьезным спецам по stm32 - может ли быть какое-то пересечение по таймерам, используемым в I2C (на PB6, PB7) и в RTC, например, при конфигурировании в регистре состояния по невнимательности автора библиотеки взвели/сбросили еще какие-нибудь биты по тому же адресу и "задели" не свой таймер. Или что-нибудь по обработке и запрете прерываний... Или что-то в тактировании сделали неаккуратно.

Я не вникал в это все досконально, но общее представление имею.

Напишу в сумме доводы против аппаратной причины появления кракозябров.

1. Ставил преобразователь уровней.
2. Менял индикаторы и blue pills
3. Пропаивыл часовые кварцы и иже с ними на платах.
4. Мыл флюс спиртом.
5. Уменьшал в 5 раз (от 100000 до 20000) скорость I2C.
6. Переходил на тактирование часов по LSI - т.е. по внутреннему генератору в самом кристалле.
7. Менял батарейку на новую.

Все это (точнее, ничего из этого) НЕ ВЛИЯЕТ!

Документацию специально для меня, ленивого, читать не надо - но вдруг что на слуху есть. Впрочем, и сам посмотрю.

*** Сделал пока "костыль" - инициализацию LCD перед каждым выводом данных на экран.

Пока - нет кракозябров, полет нормальный
(что еще раз говорит в пользу программной природы глюков, а именно - RTClock портит I2C).

Re: BluePill - КЗ по питанию 3.3 в.

Ср мар 01, 2023 09:03:35

Пожалуйста, дайте код простого теста с дисплеем и преобразователем, на бредборде включю.

Re: BluePill - КЗ по питанию 3.3 в.

Ср мар 01, 2023 13:52:01

Надо компилить в среде Arduino IDE с установленными "примочками" для stm32. Вот как я ее когда-то готовил:

https://www.radiokot.ru/forum/viewtopic ... 3&start=60

Вот ссылка на уже неглючащий тест и две библиотеки. https://disk.yandex.ru/d/XfLpvhMsA3VOJA
RTClock вообще уже содержится в ардуине-для-stm32, а LiquidCrystal_I2C нужно установить. Можно просто в папку скопировать к библиотекам, или в ту же, что и код.

Для наблюдения кракозябров нужно убрать строчку lcd.begin(...) в цикле loop. Там она вообще-то, при нормальной работе библиотек, совершенно не нужна.

Re: BluePill - КЗ по питанию 3.3 в.

Ср мар 01, 2023 14:24:26

Используете много внешних ресурсов. Дайте файлы libmaple.
(могу найти их, но я хочу создать вашу среду).
...
в rogerclarkmelbourne есть libmaple
..
место:
lcd.begin...
не в loop(), а в setup() - выполнение один раз.

Re: BluePill - КЗ по питанию 3.3 в.

Ср мар 01, 2023 14:37:32

libmaple дам, попозже. Какие именно? Они же тянут за собой довольно много по цепочке инклюдов...

Понятно что lcd.begin() не должно быть в loop. Я его специально поместил туда, это "костыль", patch, чтобы он каждый раз восстанавливал то, что портит RTClock. И Это получилось - в таком виде глюков нет. Это имеет важное диагностическое значение. А без lcd.begin() в loop - лезут кракозябры, т.е. неправильные символы.

Re: BluePill - КЗ по питанию 3.3 в.

Ср мар 01, 2023 14:40:00

Код:
чтобы он каждый раз восстанавливал то, что портит RTClock.

Интересно! :)
---
win10, Arduino v1.8.19 работает STM32_Arduino, но не могу перенастроить библиотеки. libmaple отсутствует.
В rogerclarkmelbourne есть RTClock и libmaple, но не компилируется. Пфу. Или все изменилось? Какую версию win и Arduino IDE используете?

Re: BluePill - КЗ по питанию 3.3 в.

Ср мар 01, 2023 15:05:10

Win XP. Arduino 1.8.6 в portable варианте. Да не связывайтест Вы с этой фигней :) ну или поставьте все как указано по первой ссылке - там весь комплект. Специально для желающих работать с arduino IDE + stm32 на минимальном софте.

Re: BluePill - КЗ по питанию 3.3 в.

Ср мар 01, 2023 16:10:51

Последний раз Arduino_STM2 писал в 2017. На данном этапе даже blink не записывается. Либо новая ОС не хочет, либо новая версия IDE ...
Последний раз редактировалось veso74 Чт мар 02, 2023 02:04:26, всего редактировалось 1 раз.

Re: BluePill - КЗ по питанию 3.3 в.

Ср мар 01, 2023 23:18:40

Прошу прощения.Бандитов надо выгнать :) не до электроники сейчас. Всем спасибо за все. Появлюсь как смогу

Re: BluePill - КЗ по питанию 3.3 в.

Чт мар 02, 2023 01:56:02

Tак: под win7 x64, Arduino IDE v1.8.19, Arduino_STM32, модуль STM32F103C8T6 на 72 MHz и USB/TTL CP2102, PCF8574T (address 0x27, I2c SCL: PB6, SDA: PB7) + LCD1602 (все China), 5V на 7805, пластиковый breadboard и объемный монтаж, с проводами 15..20 cm, под комментарием: lcd.begin(..) и delay(500) в loop() все ОК, глюков нет.

... уже 15 минут - все ОК ...
... уже 30 минут - все ОК ...
... оставляю включенным на ночь ...
... уже 6 часов, часы идут неточно (+13 мин), но показания на дисплеее в норме :tea:

Старт, стоп, несколько раз, устройство работает, дисплей ОК :) .

Re: BluePill - КЗ по питанию 3.3 в.

Пт мар 03, 2023 19:00:16

Впечатляет! Хорошо.

А пришлите пожалуйста, Вашу RTClock. У меня она в Arduino\hardware\ArduinoSTM32\STM32F1\libraries\RTClock
Но может быть и в другом месте. Может быть и несколько. Нужна та, с которой проект компилируется. Я ее себе скопирую и проверю. Может быть тоже все работать будет нормально.

Re: BluePill - КЗ по питанию 3.3 в.

Пт мар 03, 2023 22:29:07

в C:\Users\xxx\AppData\Local\Arduino15\packages\stm32duino\hardware\STM32F1\2022.9.26\libraries
Библиотека RTClock есть в пакете STM32duino:
Код:
http://dan.drown.org/stm32duino/package_STM32duino_index.json
Вложения
RTClock.zip
(26.84 KiB) Скачиваний: 43

Re: BluePill - КЗ по питанию 3.3 в.

Сб мар 04, 2023 19:55:27

Скачал Вашу библиотеку, попробовал. Она совпадает с моей. А код вызывает глюки (без lcd.begin() в цикле loop.)

Вот мой bin - файл, полученный из этого кода. https://disk.yandex.ru/d/65hg7hsiMyzDKg

Попробуйте, пожалуйста, прошить его в свою blue pill. А также - пришлите мне свой bin, а я его прошью ST Link- ом в свой контроллер. И посмотрим, что получится.

Re: BluePill - КЗ по питанию 3.3 в.

Сб мар 04, 2023 21:05:02

Уже удалил конструкцию с бредборда :).

Код Ваш, без изменений. И библиотеки также. Он не может быть причиной. Только что перекомпилировал.
Вложения
stm32_LCD_RTC_4.zip
(14.03 KiB) Скачиваний: 36

Re: BluePill - КЗ по питанию 3.3 в.

Сб мар 04, 2023 21:34:26

Чем дальше в лес, тем больше чудес...:)

Залил Ваш код. blue pill виснет - не выдает даже "controller is ok". А мой - выдает, но потом глюки с символами, как обычно. Перед заливкой все стирал.

Не понимаю ничего.
Ответить