Jump to content

    

esaulenka

Свой
  • Content Count

    1367
  • Joined

  • Last visited

Community Reputation

0 Обычный

About esaulenka

  • Rank
    Профессионал
  • Birthday 01/25/1983

Контакты

  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

7715 profile views
  1. Мне кажется, у вас с адресом ошибка. От этого 0x7FFEE000 до 0x8000'0000 - целых 68 килобайт. Попробуйте читать чуть дальше. (я, правда, могу путать. С 2368 я работал лет 8 назад...).
  2. Ну, допустим вы это даже как-то сгенерируете. Выбирать нужный вам вариант компилятор как будет? Вас точно не устраивает простейший вариант? void push(int i) { pushinteger(i); } void push(float f) { pushnumber(f); } Ну или полистайте гитхаб в поисках плюсовых обёрток для Луа. Там оно есть. Это десяток однотипных функций, чтобы поместить аргумент в стек перед вызовом функции в интерпретаторе луа (по отдельной функции для каждого типа аргумента). Можете посмотреть описание (https://www.lua.org/manual/5.3/manual.html раздел 4), там всё просто.
  3. А вы вообще пробовали заглянуть в атоловскую техподдержку? http://fs.atol.ru/SitePages/Центр загрузки.aspx файлик "BP21 program manual". Какая вам библиотека нужна для отправки нескольких текстовых строчек в компорт, я не понимаю.
  4. Особенно непонятно, что говногцц предупреждение в этом месте таки выдаёт: https://godbolt.org/z/oKx4djrcr
  5. Ну всё как обычно, ничего нового. Я спорить заканчиваю - кому-то, надеюсь, помогла информация, которую я привёл ранее, а в этой клоунаде участвовать смысла нет никакого.
  6. Прочитайте внимательнее исходное сообщение. @Arlleex вообще на другом языке пишет.
  7. Потому что инициализация выборочных полей массива описана в стандарте C99 (вот тут), но не описана ни в каком стандарте C++. Каких-то черновиков для включения в стандарт вроде б нет (но я очень невнимательно слежу за деятельностью комитета по стандартизации). В прошлом году (наконец-то!) подобный механизм для структур перетащили из C99 в C++20 (см. пункты 3, 4). Так что iar молодцы, конечно, но при перетаскивании этого кода куда-то ещё будут приключения. Я невнимательно читал тему. Это у вас настройки такие, что-ли? Иначе зачем так делать? Микро-совет. Если пишете на плюсах, пишите просто struct Name { ... }; То же самое по смыслу, но а) букв меньше б) в IDE навигации по коду не вылезает анонимная структура.
  8. Да, вы правы, фигня получается. Должен заработать только статический полиморфизм (см. мою ссылку выше) с явным приведением типа очереди в читателе и в писателе. Но за такое явное приведение в приличном обществе будут бить...
  9. Это называется полиморфизм. Виртуальная функция Free, которая переопределяется в двух наследниках буфера - один наследник читатель, второй - писатель. Но помимо запутанного кода (три класса вместо одного) будет оверхед виртуальных функций. Кажется, можно этого избежать (гуглить CRTP) но я б такое не делал - серьезное усложнение исходников на ровном месте.
  10. Одинаково, да. Только под разные архитектуры его собирают разные команды, и в какие-то не самые популярные ветки новые "фишки" попадают ооочень нескоро. Впрочем, в версии 7.1, которую использует @Harvester, вся нужная магия уже есть (см. выше ссылку на godbolt, там можно мгновенно сравнить разные компиляторы). Осталось только поменять расширение файла с исходником с ".c" на ".cpp". Ваш IAR, кстати, тоже более-менее должен уметь современный С++ (пример, который я показывал, это C++14).
  11. Потому что вам надо пользоваться компилятором, который знает, что такое compile-time optimization. В свежих C++ всё работает, там люди приложили кучу сил, чтобы множество действий, которые должны быть выполнены в процессе старта программы, выполнялись компилятором, и в программу попадало уже готовое значение. https://godbolt.org/z/MbMGnxxGr
  12. То, что Ваш подход - влезать в незнакомую тему с банальными советами, Вам уже не раз говорили. Прочитайте даташит, сделайте библиотечку, проверьте всё на живом железе, расскажите подробности - Вам спасибо скажут. Но вот что-то подсказывает, что ни дисплей этот, ни документацию на него Вы в глаза не видели. Вместо этого пятая страница переливаний из пустого в порожнее.
  13. Блин, ну вбейте уже в гугл "ILI9341 init" и насладитесь десятком вариаций кода, который скармливает этому дисплею портянки каких-то байтиков (без комментариев, что именно эти байтики значат. очень удобно). Там подобных writedata ещё несколько штук должно быть. Очередная тема ни о чём. "Хочу оптимайзить код мач беттер зен компайлер, но не хочу и не буду ридить мануал". Прям вот классика, уже не первая тема тут такая.
  14. Евгений, предлагаю отделить мух от котлет: схемотехника отдельно, софт - отдельно. Например, задачу "сделать нанопотребляющий вход для подсчёта импульсов" я не осилю (текущее решение с включением-отключением подтяжки, если честно, выглядит костылём), а софт под какой-нибудь STM32L010 (выбрано в терре по принципу "самый дешёвый из L-серии) сделать вполне смогу. Ежели что, мой телеграм совпадает с здешним ником.
  15. Кстати, у этой команды синтаксис memcpy. Т.е. cmd dst, src, size, а не cmd ram, flash, size. Возможно, она даже корректно скопирует флеш в рам :-)