На первый вопрос , я ответ нашёл сам ... как говорится тупой вопрос, тупой ответ.... У меня Mac ,файлики были белые почти во всех парках , не мог понять что там... установил что требуется, сразу понятнее стало .. Да и на второй думаю, што догадываться долго не понадобится .. за недельку, я если одну строку пойму , это будет хорошо просто понять очень хочется, что к чему и как работает. Может если вы мне подскажите какие файлы касаются непосредственно прошивки самой программы что работает с Марлином и какие относятся к STM32 ? Если правильно понимаю , то что в папке stm_lib в месте с cmsis и cmsis_boot это и есть конфигурация самого stm. А папка src и inc это программа? Тогда что это 3D-GLCD за папка и плюс 7 файликов в не папке , для чего они, программы или stm или вообще не имеет никакого отношения одно к другому?
Может если вы мне подскажите какие файлы касаются непосредственно прошивки самой программы что работает с Марлином и какие относятся к STM32 ?
Непосредственно к прошивке относится всё, кроме .vscode и 3D-GLCD.coхххххх. Это к разным средам разработки, соответственно для VSCode и COIDE. И всё, что касается STM тоже относится к прошивке, так как она под него делалась.
vitaliberty писал(а):
Я очень сильно хочу понять как правильно создать код , как его читать, понимать. ......
Каждый программист создаёт свой код в своём стиле. Смотрите исходники разных проектов, берите из них то, что нравится. ПРАВИЛЬНЫЙ код - который работает так как нужно. Он может быть не всегда оптимальным, но это другой вопрос. Для начала, так как Вы вообще не связаны с программированием, то лучше найдите и установите себе COIDE 1.7, так как это одна из наиболее простых сред разработки для новичка, компилятор gcc для ARM и для начала просто воспользуйтесь готовым проектом, запустите свой экран. А здесь всё-таки тема не по урокам программирования для новичков, а по конкретному железу. В соседних ветках есть темы и по разным контроллерам и по С/С++. Так же есть и книги и видео на эту тематику. И практически на все Ваши вопросы ответы уже есть. Скачайте документацию на используемый контроллер, изучайте его периферию, которая используется в проекте, комментариев у меня в исходниках полно, так как сам могу забыть через время много чего.
Добрый вечер. Большое спасибо за советы. Буду учиться. Проблема в том что я пользуюсь Mac OS и с ним CoIDE и Makefile не работают, если правильно понимаю они для Windows . Остаётся Visual Studio Code . Установил., пытаюсь понать как оно работает ... ни как не пойму. У мена версия на английском, и на интернете "уроки" только со старыми версиями, не меню ни запуск программы не одинаковые , вообще непонятно что к чему и вообще как делать компиляции на STM32... ? Буду както разбираться. Я получил мой STM32... Ой как я замучился хотя бы загрузить программу теста led на pin13... не получалось ни как. Я это делал через TTL адаптер. Всё делал как говорили и через Arduino и через VScode и даже через STM32cubeProgrammer .. и буты и муты, что я только не делал. Не было коммуникации с этим stm . Думал всё. Купил подделку, а их купил 5шт, и не одна не работает. Думал с ума схожу.. весь день и ночь просидел над ним , без толку. Потом под утро попал на статью что бывает такое что один резистор не тот что нужно, под наименованием R3 . И его надо заменить на резистор 10khm . То что я и сделал. Чудо, все заработало! И бут сработал, перестала мегать LED. Ну и тест смог затянуть в него с помощью Aruino IDE. Уф... теперь мой stm распознан в stm32cube. Ну и я решил заделать наконец этот TFT экран. Но с VSCode я еще не дружу. Пытался, ну ни как . Не знаю почему но . Ошибка при запуске и при debugging . Короче не идет этот VSCode. Решил попробовать загрузить это все через Arduino IDE . Проблема нет sketch для этого. А просто файлики брать не хочет. Ни подумал сделаю этот скетч сам.. прекрипил все файлы вашей прошивки к этому скетчу, и к моему удивлению, компиляция прошла успешно. В define.h выбранная HW_VER_3 , выбрал ILI9341 вместо того что было. И всё, запустил, ошибка; надо выбрать в stm32f10x.h одну из возможностей STM....LD, LD/VL, MD, MD /VL, HD, HD/VL , XL и CL тот что я и выбрал.. так как у мена модель SLT32f1.. ...C8 , ну подумал , то что нужно( последняя по списку). А на самом деле? Ето так? Я выбрал то что нужно или нет? Ну Конечно же после загрузки, подключил с начало по вашей первой схеме... экран включился но белый. Потом дошло что пины на версии 3 не те что на вашей первой версии. Посмотрел в defines.h Hw ver 3 распиновку . Подключил как написано. Экран остался белый. Но не понятно почему здесь нет LCD D 0,1.,2,3,4,5,6,7 в расписании пинов? Это подключать не надо? Ну и плюс для тактила x-x+y-y+ , если я правильно понял на моём VMA412 эти пины связаны с WR и RD так как этот экран не посылает обе информации вместе, там проходит или то или другое, и тип о проблем не будет... надеюсь что я правильно понимаю то что с перевода прочитал. А в моём случае, не подскажите как мне подключиться, пожалуйста ? Вы в предыдущем посте говорили что нужно будет кое что изменить в прошивке и мой экран сработает.. пожалуйста помогите мне в этом деле, что, куда подключить и что в прошивке изменить.? И вообще посоветуйте, компиляцию с Arduino IDE , так как я сделал, это можно делать? Будет работать? Благодарен вам за вашы ответы И ваше потраченное время.
Здравствуйте. Для Mac OS CoIDE может и нет, но Makefile поддерживается, хотя вроде через бубен. Либо есть аналог. Даже беглый поиск в гугле дал много результатов, в том числе такой https://coderoad.ru/11494522/установка-make-на-Mac. Я Мак в глаза не видел, поэтому сами ищите информацию по установке ПО. STM32F103 отностится к STM32F10X_MD, читайте документацию на чип. Этот параметр передаётся компилятору при компиляции в качестве параметра командной строки. Его можно найти в Makefile и файлах конфигурации для VSCode и CОIDE.
vitaliberty писал(а):
Посмотрел в defines.h Hw ver 3 распиновку . Подключил как написано. Экран остался белый. Но не понятно почему здесь нет LCD D 0,1.,2,3,4,5,6,7 в расписании пинов?
А схему смотреть не пробовали? По шине данных с экраном обмен идёт не побитно, а побайтно и расписывать отдельно каждый пин нет смысла. Поэтому в defines.h указан порт шины экрана и маска.
vitaliberty писал(а):
Ну и плюс для тактила x-x+y-y+ , если я правильно понял на моём VMA412 эти пины связаны с WR и RD так как этот экран не посылает обе информации вместе, там проходит или то или другое, и тип о проблем не будет...
Если так, то нужно отпаять шлейф тачскрина от шлейфа экрана и подключить проводами. Если с отпайкой шлейфа проблема, то для начала используйте версию 1 без тачскрина чтобы просто экран запустить. Собрал и приложил файл прошивки для теста. Для запуска конкретного экрана достаточно раскоментировать соответствующую экрану строчку и закоментировать текущую в defines.h. Arduino IDE не использую и не знаю, как его настроить для Мак для STM. Лучше разберитесь с установкой Makе - так быстрее и проще будет.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Добрый день, благодарю за ваши подсказки. Я вот провёл неделю изучать, понять как пользоваться и вообще, понять как работает этот микроконтроллер STM32 . Решил загрузитесь в него Bootloader,(прочитав советы людей), чтобы не зависеть от TTL переходника. Потом решил протестировать работу с простым экраном LCD 16x2 . Конечно же я это делал с помощью того с чем знаком (Arduino IDE). Результат был полное ге... В место текста, какие-то странные знаки мигали.. Пару дней искал причину этого... безуспешно, пока не докатило что может из-за этого бута проблема ? решил попробовать залить тот же код но через ТТЛ переходник , и сразу всё заработало отлично.. После этого начал искать альтернатив Makefile и CoIDE, нашёл выход из положения с помощью STM32Cube MX , CubeIDE и CubeProgrammer... Оригинальная Программа для моего микроконтроллера , ни так ли ? Сделал проверку, да и хоть понять как работают эти программы... тест, света диод РС13 и экрана 16х2... худо, бедно , я что-то выкатил на мой микроконтроллер , слава богу, мои примеры работали нормально.
После этого решил провести тест с TFT shield .. Нашел в интернете примерный график тест.. картинка появилась , но тактил не работает... подумал , бог с ним , потом буду разбираться. Пока, первая цель, это добиться работы экрана с вашей прошивкой, хотяб картинку. А потом , будет потом... Ну и я решился взята за дело, но..... как всегда есть большое НО..... в вашем досье есть всё, кроме того что, могло бы мне облегчить эту головную боль.... Куб программатор, работает только с компиляциями .bin/.hex/.elf и всё... А у вас там этого нету... жалко Ну , я подумал, нестрашно. Я вить научился создавать с CubeIDE ...... фиг, два .... то формат не тот , то не может кое какие фиалки прочитать или вообще найти не может, а хотя они там, я их то вижу а он нет... уф намучился, но в итоге всё он видит и вроде правильно настроил , но Дебаг сделать невозможно из-за такой ошибки
Код:
18:28:43 **** Incremental Build of configuration Debug for project TFT_3D_Printer **** make all Building file: ../main.c Invoking: GCC C Compiler gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.o" -o "main.o" "../main.c" In file included from ../main.c:2: In file included from ../protocol.h:4: In file included from ../defines.h:5: In file included from ../stm32f10x_gpio.h:32: In file included from ../stm32f10x.h:478: In file included from ../core_cm3.h:122: ../core_cmFunc.h:328:19: error: invalid instruction mnemonic 'cpsid' __ASM volatile ("cpsid i"); ^ <inline asm>:1:2: note: instantiated into assembly here cpsid i ^~~~~ In file included from ../main.c:2: In file included from ../protocol.h:4: In file included from ../defines.h:5: In file included from ../stm32f10x_gpio.h:32: In file included from ../stm32f10x.h:478: In file included from ../core_cm3.h:122: ../core_cmFunc.h:317:19: error: invalid instruction mnemonic 'cpsie' __ASM volatile ("cpsie i"); ^ <inline asm>:1:2: note: instantiated into assembly here cpsie i ^~~~~ 2 errors generated. make: *** [main.o] Error 1 "make all" terminated with exit code 2. Build might be incomplete.
результат , я опять в тупике и не знаю что делать? терплю надежду что вы мне подскажите что делать дальше... Или может у вас найдётся готовый Build вашей прошивки для моего TFT Shield в формате .bin или .hex или .elf ?
И есть еще один вопрос. У меня есть китайская копия iPhone по-моему 7 , лучше ним не пользоваться , а то атомный взрыв будет... то шумит , то на нём яйца жарить можно но экран!!!! ним капать можно я эго разобрал и...... пожалуй всё все номера и коды и рефераты и и всё что можно было, писал, искал в интернете . Без результата. дата шилд не нашёл. У вас может есть какие-то источники информации, где можно получить описание пинов экрана? В этом вопросе не подскажите? жалко лопату выбросить Благодарю за внимание, буду ждать вашых ответов с нетерпением !
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
нашёл выход из положения с помощью STM32Cube MX , CubeIDE и CubeProgrammer... Оригинальная Программа для моего микроконтроллера , ни так ли ?
Оригинальные, но я ими не пользуюсь и в проекте от них тоже ничего не использовано. Я пользуюсь компилятором gcc.
vitaliberty писал(а):
Куб программатор, работает только с компиляциями .bin/.hex/.elf и всё... А у вас там этого нету... жалко..... Или может у вас найдётся готовый Build вашей прошивки для моего TFT Shield в формате .bin или .hex или .elf ?
На Гитхабе нет, а в предыдущем сообщении я специально для Вас собрал и выложил что? По ошибке - скорее всего связана с используемым компилятором. Используйте gcc.
vitaliberty писал(а):
У меня есть китайская копия iPhone по-моему 7
Китайцы делают что угодно причём как угодно. Распаек шлейфов/разъёмов море. Найдите для начала на разъёме/шлейфе шину данных, питание, тачскрин. Останутся сигналы RS, CS, WR, RD и Reset. Кто из них кто можно осциллографом попробовать вычислить. А потом по разрешению экрана искать возможные чипы. Но это вопрос не для этой темы. Есть специализированные форумы для этого с описанием распиновок и инициализаций.
Огромное спасибо!!! Извините меня за мою глупость, тупость не знаю как это можно назвать .. С начала я даже не заметил ваше приложение , потом увидел и подумал что это напоминание распиновки v1 вашей прошивки. Я его даже не открывал,.... это была большая глупость с моей стороны.. Экран заработал сразу.. приложил фото , осталось всё собрать в месте .. у меня возник вопрос .. на схеме у вас подключен контраст.. у меня катод и анод пинов на экране нет.. это ни как не повлияет на работу прошивки в будущем?
а вы не подскажите что это такое Header 4 (X2) ? и SDA/ SCL?
и в малине где посмотреть за ответственные пуны SPI (MOSI,MISO,SCK)? в файле который относится к моей карте MKS Base V1.6.h о SPI речи нет , потом переносит на файл MKSCommun.h , там тоже нет речи об этом , потом перенос в Ramps.h и там уже есть это
это то что мне нужно? потом в вашем досье для марлин в ReadME написано что делать. но эо для марлин 2 тоже делать надо? потому-что я этого параграфа не нашел
тут про LCD с SPI вообще нет разговора. да и потом заменил файлы на ваши , и моему Марину пришел конец даже вернув родные файлы компиляция проходит успешно но принтер включается с ошибками , раньше так не было ... наверное что-то накрутил, обменом файлов . завтра скачаю по новому марлин и попробую заново.. но хотел бы уточнить насчет подключений пинов и их программирования. потому-что те пины что расписаны выше , у мена на плате нет их...(есть но не доступные) и если я правильно понял они относятся к драйверам моих моторов , на моей плате есть подключения MOSI pin 51, MISO pin 50 , SCK pin 52 . куда мне их писать и вообще не подскажите что мне изменять или нет в моём случае , так как в марлин 2 уже есть данные вашей прошивки ? и нашел информацию только о пине CS.
а вы не подскажите что это такое Header 4 (X2) ? и SDA/ SCL?
А над хедером что написано? Вы схемы по диагонали читаете? При этом Гугл при запросе "SDA SCL" даёт ответ сразу.
vitaliberty писал(а):
и в малине где посмотреть за ответственные пуны SPI (MOSI,MISO,SCK)? в файле который относится к моей карте MKS Base V1.6.h о SPI речи нет , ... потом перенос в Ramps.h
Моя панель подключается к стандартному разъёму ЕХР2, к которому подключается SD карта по SPI и используется именно эта SPI шина, а для работы экрана из этого разъёма используется один пин TFTGLCD_CS вместо другого не используемого BTN_EN2. В файле Ramps.h всё уже есть. TFTGLCD_CS это пин №33, выведен на 6 ножку разъёма для MKS Base V1.6. Пины MOSI, MISO и SCK Вы уже нашли. У меня на схемах распайка разъёма ЕХР стандартная, но на некоторых платах эти разъёмы развёрнуты на 180 градусов. На MKS Base V1.6 развёрнуты, подключайте внимательно.
Igoreksteb писал(а):
на данный момент какие дисплеи поддерживает LCD панель?
Ну на первой же странице проекта на Гитхабе написано - ILI9325, ILI9341, ST7789, ILI9327 и R61509V.
пытаюсь учусь их правильно понимать . сам не всегда уверен в том что понял, поэтому и спрашиваю для убеждения , это подключение I2C на марлин . но у мена вопрос , а зачем из STM32 эти пины идут на +3.3в? через резисторы. и ещё вопрос С1 ,С2 и С3 их обязательно ставить надо? они нужны для чего? потому-то в наличии их нет ... потом в примере вашего марлин, SDcard эта строка за комментирована, так должно быть? если оно не активировано , экран будет всё равно работать с SPI?
Serj_K писал(а):
В файле Ramps.h всё уже есть.
мне тогда изменять ничего не нужно? имя остаётся как есть #define TFTGLCD_PANEL_SPI менять на "#define TFTGLCD_ADAPTER" не нужно ?
PS: я закончил художественную школу и не имею ни какого понятия о чтении схем или плат а в электрике с электроникой , столкнулся в первые... да и английский, это не моё , я по французски без проблем , а с английского перевожу с google ... перевод , ммм как сказать .. не всегда понятен.. пытаюсь как могу то на русский, то на французский, вместе приблизительно понятная каша получается.
я собирал по схеме v1 , после вашего совета. С начала сделать экран , а потом разбираться с тачскрином ... на этой схеме есть С1 100nF связан на экране с +3.3v и GRD. вот и возник вопрос , для чего они нужны и обязательно их ставить? потому что у меня их не (дома) а из-за этого вируса у нас все магазины закрыты (кроме интернета негде их не достать, пока заказ прийдёт и вообще то ли прийдет, неизвестно ...) поэтому и мучаю вас вопросами ? очень важно это ставить? и насчёт I2C , если я подключил через SPI то всё равно эти два входа SDA SCL я должен подключать на резисторы с С2 100nF? или они могут оставаться не подключены? и на buzz стоит С3 4,7uF , у меня есть 6,8 uF , могу эго поставить ?
С1 нужен, если используется голый экран. Вы используете плату, на которой вся обвеска экрана уже установлена. C2 можно не ставить, а резисторы лучше поставить, чтобы шина не висела в воздухе. Ёмкость С3 не критична.
ок понал . теперь у меня проблемка другая. скачал по новому марлин . ввел данные моего принтера проверил , всё работает нормально. после этого снял комент перед #define TFTGLCD_PANEL_SPI , и всё. залил снова в принтер, подключил экран. Он остаётся на первой страничке загрузки в ожидании принтера . думал может не так подключил , как я только эти пины не переворачивал , результат один и тот же .. подумал может надо чтобы программа компа была подключена , так он вообще не подключается зависает на каком-то моменте пишет ок, но нет управления принтера , не могу двинуть не вперед не влево , вообще реакции ноль. попробовал подключить принтер без экрана , зависает при подключении BLtoush скачет в верх, в низ без остановки и тоже контроля над примером нет.. при отключении принтера выходят ошибки
Код:
Connecting... echo:start Marlin 2.0.7.2 echo: Last Updated: 2020-10-15 | Author: (Vita, Frank Marlin 2.0) echo:Compiled: Apr 19 2021 echo: Free Memory: 3290 PlannerBufferBytes: 1392 Exception in thread Thread-2: Traceback (most recent call last): File "serial/serialposix.py", line 493, in read OSError: [Errno 6] Device not configured
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "printrun/printcore.py", line 271, in _readline File "serial/serialposix.py", line 509, in read serial.serialutil.SerialException: read failed: [Errno 6] Device not configured
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "threading.py", line 926, in _bootstrap_inner File "threading.py", line 870, in run File "printrun/printcore.py", line 356, in _listen File "printrun/printcore.py", line 325, in _listen_until_online File "printrun/printcore.py", line 292, in _readline IndexError: tuple index out of range
от первого Connecting... до второго это момент подключения принтера и до отключения usb провода , а второй Connecting... это по второму разу подключение и вот в таком положении он зависает .. заливал марлин несколько раз , думал может ошибка при компиляции происходит , да нет, один и тот же результат, всё зависает. а как только отключаю #define TFTGLCD_PANEL_SPI ,всё работает снова нормально . где то происходит конфликт , но я эго не найду это точно . я приложил мою компиляцию , могли бы посмотреть что не так , почему зависает всё, как только активирую вашу прошивку , может я где то что-то не то включил или не включил.. пожалуйста если не трудно подскажите что делать?
PS: в архив config.adv+ config.h второй ето пин по имени понятно, всю папку марлина послать нельзя , превышает объём загрузки файлов. если нужны какие-то другие папки , вы только скажите , перешлю по отдельности . благодарю заранее!!!
а вот когда подключаю без #define TFTGLCD_PANEL_SPI
Если прошивка собирается без ошибок, то со стороны программной части проблем вроде как нет. Проверить в железе я не могу, так как у меня нет платы на Меге. Вопрос - SD карта физически к основной плате подключена? Если да, то как? SD карту с панели VMA412 нельзя подключать одновременно с моей панелью без доработки так как будет конфликт на шине SPI. То есть в прошивке поддержка SD карты может быть, но подключать к VMA412 проводами её нельзя. Если проблема с BLtoush, то попробовать собрать прошивку без него.
Нет я SD карту не подключил, подключил только пины экрана. На основной карте нет SD карты. Потом я пытался подключить принтер к компу дез подключения stm карты, только в марлин выбрал TFTGLCD И карта принтера пустая без подключения экрана .. результат тот же.. проблема не в проводке так как её нет , она не подключина.. и результат тот же всё зависает при подключении к компу а как только отключают опцию TFTGLCD в марлин , без других изменений всё работает . Как по мне это конфликт в самом марлин ?
Можно попробовать подключить панель по I2C, но нужно найти на какие пины основной платы и обязательно снять подтягивающие резисторы на основной плате, если они там есть, так как будут использоваться резисторы на плате панели - они подтягивают к +3.3В. Или временно отключить некоторые функции типа BLtoush, SDCARD.
Буду искать насчёт I2C информацию . Но хотел спросить. Если в прошивке принтера стоит вкл TFTGLCD но физически он не подключен к принтеру . Это не влияет на работу принтера ? Может он ждет ответ от панели чтобы продолжить загрузку? А так как она не подключена то и ответа нет ...? Или оно не должно влиять на сам принтер и его работу... А может у вас есть старая версия Марлин 2 , может они там какой-то update сделали который создаёт конфликт ? Я думал попробовать , ради интереса использовать марлин 1 но там их два вида . Есть v1.1 и просто v 1 , какой лучше? И если попробовать версию 1 , то мне нужно делать то что описанной в вашем файле Read от марлин ? Заменить некоторые файлы да и вставить функцию TFTGLCD в condin.h и вклеить в Ramps.h то что относится к #if...SPI LCD... но там нет такого заголовка включая SPI LCD в этом случае куда мне это вклеить ?
Добавлено after 37 minutes 47 seconds: решил попробовать с компилировать с другой программой а не через ArduinoIDE , так как прочитал что ардуино может компилировать с ошибками... я это сделал с помощью Visual Studio Code + PlatformIO + Marlin Firmware Auto Build. После компиляции , результат не изменился. Принтер зависает при подключении . Но в этой программе во время компиляции идет перечисление загруженных файлов, и проскакивает такая ошибка
Код:
Marlin/src/lcd/ultralcd.cpp: In static member function 'static void MarlinUI::finish_status(bool)': Marlin/src/lcd/ultralcd.cpp:1341:22: warning: unused variable 'ms' [-Wunused-variable] const millis_t ms = millis(); ^~
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения