stm32f103 + display 1602 + bmp280 + Arduino IDE
- Войдите на сайт для отправки комментариев
Ср, 30/01/2019 - 06:57
Дисплей подружился сразу (LiquidCrystall.h), а вот барометр - ну, никак не хочет ни с какими библиотеками. Что делать? Ставить Keil?...
Дисплей подружился сразу (LiquidCrystall.h), а вот барометр - ну, никак не хочет ни с какими библиотеками
да ты гонишь. На шине барометр виден?
На шине барометр виден?
Нет. Подключен по i2c, пины В6, В7. На ардуинке дуе работает "на ура" адафрутовской библио bmp280.
А тут - затык. С адафрутовской компиллится, ошибок не выдает, но не работает. Ещё там с каких-то с гитхаба - с одной тоже компиллится, тоже не работает, но выдает предупреждение, что эта библа только для авр, ещё с одной с гитхаба (вроде как в библиотечной сборке для stm32f1) - не компиллится, начинает собирать кучу ошибок с инклудовских библиотек - видимо, не совместимы (например, стандартные wire и i2c). Думаю, дело в хреновенькой аппаратной поддержке stm от ардуиновской среды...
Вобщем, "говорила мне мама" - ставь сразу кейл и не мучайся. Нет же, - надо потерять пару дней непонятно на что!...
Нет. Подключен по i2c, пины В6, В7.
i2c на bluepill - это пины В8 В9
. Думаю, дело в хреновенькой аппаратной поддержке stm от ардуиновской среды...
простите, но дело не в этом.
Классика - "дело было не в бобине"
Вообще, хорошая привычка - в первую очередь искать проблемы в своей криворукости и бестолковости, а не окружающих, хреновых библиотеках или несовместимых платах :) прошу не обижаться
. Думаю, дело в хреновенькой аппаратной поддержке stm от ардуиновской среды...
простите, но дело не в этом.
Классика - "дело было не в бобине"
Вообще, хорошая привычка - в первую очередь искать проблемы в своей криворукости и бестолковости, а не окружающих, хреновых библиотеках или несовместимых платах :) прошу не обижаться
Да не - я не обижаюсь, пины по памяти писал (не уверен, что у вас тоже верные, но если 8,9 - значит, они и были - взято из распиновки даташита).
А поддержка меж тем так и осталась "хреновенькая"..
пины по памяти писал (не уверен, что у вас тоже верные, но если 8,9 - значит, они и были - взято из распиновки даташита).
Вообще, по даташиту первый I2C может быть и на 6 и 7, и на 8-9. Но в СТМ-дуино используются только 8 и 9. Так что все-таки проверьте, запросто может быть именно в этом дело.
Стало любопытно. Взял первый попавшийся датчик давления (попался bmp180) , первую попавшуюся библу, подсоединил к пилюле, залил пример из библиотеки и..... всё работает.
ладно, никак не получается, ни на 76 ни на 77 адресе, ни на пинах 6,7 ни на пинах 8,9.. Некогда уже время гробить. :-)
Понесу прототип на дуе (сказали, правда, что на ардуине "несолидно", но, думаю переживут). Тем более, реальное устройство вообще на микрокомпе будет - там ещё и акселератор сверточных нейросетей, видеокамеры, вобщем, та ещё ботва..
Понесу прототип на дуе (сказали, правда, что на ардуине "несолидно", но, думаю переживут). Тем более, реальное устройство вообще на микрокомпе будет - там ещё и акселератор сверточных нейросетей, видеокамеры, вобщем, та ещё ботва..
пипец блин... Почему прототипы проектирует человек, не понимающий в этом ? - а потом спутники падают...
Почему прототипы проектирует человек, не понимающий в этом ? - а потом спутники падают...
Думаю, потому же, почему и любят вопросы задавать громкие, но риторические, ничего не зная о сути..:-)
пипец блин... Почему прототипы проектирует человек, не понимающий в этом ? - а потом спутники падают...
Потому что это бизнес. Бизнесу (в известно какой стране) нужен быстрый оборот вложений. Это влечет за собой рисковые операции. А так, как особых материальных и иных видов ответственности не возникает в данной ситуации, то...
Дружище привет,подскажи если сможешь, почему при попытке поставить какую то картинку на дисплей он рисует одни точки картинку похожую на qr-код.Связка arduino ide, stm32f103c8,st7920 dysplay, LCD7920_STM ?
Только начинаю изучать STM,так что не пинайте сильно!!!
Дружище привет,подскажи если сможешь, почему при попытке поставить какую то картинку на дисплей он рисует одни точки картинку похожую на qr-код.Связка arduino ide, stm32f103c8,st7920 dysplay, LCD7920_STM ?
Только начинаю изучать STM,так что не пинайте сильно!!!
Вы ошиблись: сам дисплейц ничего не рисует. А отображает он только то, что его "попросили".
Т.е. что Вы на него выводите, то он и отображает.
Привет, может быть вот код которым я пытаюсь вывести картинку
Дружище привет,подскажи если сможешь, почему при попытке поставить какую то картинку на дисплей он рисует одни точки картинку похожую на qr-код.Связка arduino ide, stm32f103c8,st7920 dysplay, LCD7920_STM ?
Только начинаю изучать STM,так что не пинайте сильно!!!
Добрый день! Давно это было, поискал в старых проектах. По-моему вот этот был рабочим по дисплею Уже не помню, что он там должен был отображать, но он делал то что задумано - надо было некую картинку из подряд идущих символов. Только в строчках, соответственно с давлением (высотой).. (сейчас, кстати, далеко уже ушли с проектом. Вот здесь наш автономный дрон мельком проскакивает: https://youtu.be/uKNTRrhyVEI?t=613)
Вот сам код:
Вот благодарю, а из-за объёма картинки могут быть проблемы ? image buffer, 1K in size, а у меня она 1075 ?
Вот благодарю, а из-за объёма картинки могут быть проблемы ? image buffer, 1K in size, а у меня она 1075 ?
Ой, я уже и не помню.. По идее, если размер буфера в STM, самом дисплее и библиотеке согласованы, то всё должно быть норм..
Благодарю,буду пытать,вопрос еще, в этой библиотеке дисплей подключается трея проводами к stm,на при чтении даташита на микросхему не пойму как инициализировать hwspi,не поможете ? или как это сделать в stmcube?
ну что бы он тоже в кубе подключался тремя выходами
Привет, может быть вот код которым я пытаюсь вывести картинку
при таком коде абсолютно неудивительно. что картинка не выводится. Смотрите - вы сначала рисуете картинку методом draw() и спустя буквально микросекунду после этого начинаете рисовать поверх нее боксы. круги. выводить счетчик... и так в цикле 128 раз...
вопрос еще, в этой библиотеке дисплей подключается трея проводами к stm,на при чтении даташита на микросхему не пойму как инициализировать hwspi,не поможете ? или как это сделать в stmcube?
у вас же есть библиотека для ардуино, где это уже сделано. Смотрите в исходник и повторяйте его для куба... Синтаксис инструкций СТМ в ардуино очень похож на HAL
Благодарю за ответ
Короче вот так как то, непонятка полная !
а текст выводится? прямоугольники рисуются?
И текст.и данные с датчиков меняются , и круги рисуются, но картинки как не было так инет, грешу на саму функцию bitmap
грешу на саму функцию bitmap
или на формат файла картинки.
грешу на саму функцию bitmap
или на формат файла картинки.
Формат файла bmp, при редактировании в paint , сохранить как монохромный рисунок(bmp,dib)
Так как то
Формат файла bmp, при редактировании в paint , сохранить как монохромный рисунок(bmp,dib)
Так как то
это не гарантия. Битмап и файл bmp - это далеко не одно и то же. Нужно читать описание функции drawbitmap. чтобы разобраться, какой формат ей нужен.
Формат файла bmp, при редактировании в paint , сохранить как монохромный рисунок(bmp,dib)
Так как то
это не гарантия. Битмап и файл bmp - это далеко не одно и то же. Нужно читать описание функции drawbitmap. чтобы разобраться, какой формат ей нужен.
вот эта функция, что в ней нужно не понятно
а это ее инициализация, может что то все таки я делаю не так
ну вот, так и есть - форматы совсем разные
Та битмап, что нужна вашей библиотеке - это просто закодированная по горизонтали матрица пикселей (пиксельный массив)
Формат bmp файла. генеримого пайнтом - много сложнее. Начать с того, что этот файл содержит заголовок, то есть первые несколько десятков байт служебные и не содержат картинки. В этих байтах закодировано. как именно обработана картинка в файле. Ваша библиотека не умеет читать такие файлы.
В гугле много материала на тему "как преобразовать картинку в пиксельный массив" или ...для дисплея ардуино" и тд
Поэкспериментируйте с таким конвертером, например:
http://javl.github.io/image2cpp/
2 R4FBL, в комментарии к функции data = bitmap image in PROGMEM, must be ((width/8) * rows) bytes long, получается (111/8)*51=663, а вы передаете массив размером data=714.
Парни всем огромная благодарность, буду тестить !!!!!
ну вот, так и есть - форматы совсем разные
Та битмап, что нужна вашей библиотеке - это просто закодированная по горизонтали матрица пикселей (пиксельный массив)
Формат bmp файла. генеримого пайнтом - много сложнее. Начать с того, что этот файл содержит заголовок, то есть первые несколько десятков байт служебные и не содержат картинки. В этих байтах закодировано. как именно обработана картинка в файле. Ваша библиотека не умеет читать такие файлы.
В гугле много материала на тему "как преобразовать картинку в пиксельный массив" или ...для дисплея ардуино" и тд
Поэкспериментируйте с таким конвертером, например:
http://javl.github.io/image2cpp/
Вся суть в том, что перевод картинки на пиксельный массив я веду в LCD Assistent, весь массив беру оттуда
Парни огромное всем спасибо, а особенно за последнюю ссылку,БлагоДарность моя не знает границ !!!! И да, не всегда паинт лучшая вещь для обработки изо