|
21 / 19 / 6
Регистрация: 25.11.2017
Сообщений: 708
|
|
Что за тип данных uint32_t?30.07.2019, 22:34. Показов 40519. Ответов 171
Метки нет (Все метки)
0
|
|
| 30.07.2019, 22:34 | |
|
Ответы с готовыми решениями:
171
Как побитово скопировать uint32_t в float, минуя при этом выделения uint32_t в оперативную память
Скажите пожалуйста, что это за тип данных?! |
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||||||||
| 23.08.2019, 12:21 | ||||||||
0
|
||||||||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,099
|
||||||||||||||||||||||||||||||||||||||||||||
| 23.08.2019, 14:27 | ||||||||||||||||||||||||||||||||||||||||||||
|
И макросы - сложно... было бы, если бы не использовались повсеместно. Впрочем, макросы проще в том, что это совершенно отдельный язык, никак не привязанный к Си. Достаточно понять, что макрос занимается подстановкой текста в исходный код перед началом компиляции. Так что define не может раскрыться ни в список аргументов, ни в число - только в строку.
Впрочем, эту разницу я готов списать на косяки реализации avr-g++. Ах да! Вы же не указали компилятору хранить массивы во флеш-памяти! Ну и для максимально тепличных условий даже удалю лишние порты:
Если вы не собираетесь своим кодом пользоваться дальше (я-то не собираюсь точно: мой вариант нагляднее), предлагаю на этом остановиться: вам удалось выжать из С++ эффективность и универсальность не хуже, чем на Си. Тем более, что пока мы мерились изяществом кода, отошли от главного: насколько такой код будет читаемым и сопровождаемым для рандомного программиста? Предлагаю эксперимент: я немного допиливаю ваш код, чтобы он нормально собирался (я так понял, у вас компилятора под AVR нет, так что мне это проще), после чего создаем в разделе AVR соответствующую тему с просьбой оценить оба варианта: какой покажется народу более простым и каким бы они предпочли пользоваться. Кроме этого могу подобрать еще какую-нибудь практическую задачу, на которой можно поупражнять знания макросов и шаблонов, если вам это интересно, конечно. Я все еще рассматриваю наш спор как средство узнать что-то новое как для вас, так и для себя.
0
|
||||||||||||||||||||||||||||||||||||||||||||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|||
| 23.08.2019, 14:43 | |||
|
Добавлено через 2 минуты И он вышел в июне 2016 - https://gcc.gnu.org/releases.html . Какая там может быть поддержка С++17 ? Добавлено через 2 минуты
0
|
|||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,099
|
|||
| 23.08.2019, 15:09 | |||
|
0
|
|||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|||||||||||||||
| 23.08.2019, 16:23 | |||||||||||||||
|
Program: 94 bytes (.text + .data + .bootloader) Data: 1 bytes (.data + .bss + .noinit)
Добавлено через 33 минуты
0
|
|||||||||||||||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,099
|
||||||||||||||||
| 23.08.2019, 17:13 | ||||||||||||||||
|
Вот только при попытке передать в функцию переменную (иначе какой смысл от такой функции?) размер кода вырос до:
Еще для законченной библиотеки важно настроить все порты на выход (DDRx = 1). Поскольку настройка выполняется единственный раз, особых требований к скорости тут нет. И если разбивку на сегменты в вашем коде я еще решусь делать, то вот работу с DDR'ами лучше оставлю вам. Ну и до кучи: возможно, стоит оформить ваш вариант в виде класса: это более в стиле С++, а если объект будет глобальным, оверхеда быть не должно. Конечно, в моей версии с этим тоже все довольно плохо: оно плюется сотней ошибок на разные макросы и понять, что дело именно в портах, непросто. Но хотя бы не собирает заведомо неправильный код. Добавлено через 1 минуту UPD: что-то долго я ответ писал, еще до того, как вы дополнили свой пост. Ну да ладно
0
|
||||||||||||||||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,099
|
|
| 23.08.2019, 20:17 | |
|
Собственно, более-менее финальная версия семисегментника на макросах. Добавил проверки настроек (оно и без них выдавало ошибки, но уж больно много - теперь причесал), добавил немного комментариев и прочие свистелки.
Отчасти делаю для себя же,чтобы не потерялось.
0
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|||||||||||||
| 23.08.2019, 22:21 | |||||||||||||
|
ports.h . Собственно, интерфейс для работы с портами.
0
|
|||||||||||||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,099
|
||||||||
| 24.08.2019, 11:40 | ||||||||
|
Еще позволил себе поменять тип аргумента с unsigned (16 бит) на uint8_t (8 бит):
0
|
||||||||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,099
|
||||||
| 24.08.2019, 11:56 | ||||||
|
Вот что у меня получилось после модификаций вашего кода. Проверил в Протеусе - вроде работает. Посмотрите что еще посчитаете нужным причесать.
0
|
||||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||||||||||||
| 24.08.2019, 16:31 | ||||||||||||
|
shownumber.h
0
|
||||||||||||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,099
|
|
| 24.08.2019, 19:00 | |
|
Создал тему. Ждем отзывов
[опрос] Об использовании С++ в контроллерах
0
|
|
| 24.08.2019, 19:00 | |
|
std::vector<int> Что это за тип данных?
Восьмибитный тип переменной (что за тип, но не BYTE и не CHAR?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|