TomkDoubti
|
|
1 | |
Консоль09.04.2015, 22:45. Показов 5514. Ответов 6
Метки нет Все метки)
(
Вот я загорелся желанием сделать калькулятор с парсером формул (и если получится с калькулятором, то и команды добавлю). У меня есть готовый самопальный на C++ Builder 6. Думаю переносить его на МК.
Управление: Вращение энкодера - выбор вводимого символа; Кнопка нкодера - ввод символа; Кнопка 1 - ввод; Вывод информации на ЛСД-дисплей (лол); Перемещение влева-вправо и удаление слева справа. Возможности: Простое выражение: 1-6.7*a-pi Объявление переменной: a=5-sin(5.2) Объявление функции: f1(x,y,z)=x*y+y*sin(1-x)+a Есть некоторые перманентные константы: pi=3.14***; e=2.7***; ... Есть некоторые перманентные функции: sin(x); pow(x,y); ... Есть переменные и функции. Их можно объявлять и переобъявлять: a=3 a=1 Или: f(x)=2-x f(x,y,z,s)=x+y+z+s*x Кстати! Можно и команды вводить. А там уже простору море. Пример команды (из программы) ~DeletePoint(n2) //---------------------------------------------------------------------- Класс AnsyString я еще как нибудь заменю ... Вот такой код не работает: Код
struct Lixime { Lixime* next; uint32_t n; } Код
Lixime* next; Структуры консоли в C++ Builder 6: Код
struct Consol_Variable { Consol_Variable* next; Consol_Variable* prev; double value; AnsiString name; bool type; }; struct Consol_Action { Consol_Action* next; Consol_Action* prev; AnsiString name; int ntype; int n; Consol_Variable** Variables; Consol_Variable* Risult; }; struct Consol_Lixime { Consol_Lixime* next; Consol_Lixime* prev; AnsiString text; double value; int type; Consol_Action* Actions; Consol_Variable* Variables; Consol_Variable* Risult; }; struct Consol_Function { Consol_Function* next; Consol_Function* prev; AnsiString name; int ntype; bool type; Consol_Action* Actions; Consol_Variable* Variables; int nVar; }; struct Consol_Error { Consol_Error* next; AnsiString Text; int N; }; struct Consol_Consol { double Risult; AnsiString ConsolText; Consol_Lixime* Liximes; Consol_Lixime* LeftPart; int TypeExpression; int numSumbols; bool CheckRisult; int NEqual; int NTilde; int NOpen; int NClose; Consol_Variable* Variables; Consol_Function* Functions; int Post; Consol_Error* Errors; }; Consol_Variable *Variable_a; Consol_Function *Function_a; Consol_Lixime *Consol_lexa; Consol_Error *Consol_Erra; Consol_Consol *Consol_Main; |
09.04.2015, 22:45 | |
09.04.2015, 22:45 | |
Ответы с готовыми решениями:
6
Портативная игровая консоль PinBoard II и консоль Seagate Передача данных на консоль |
0 / 0 / 0
Регистрация: 30.01.2010
Сообщений: 123
|
|
10.04.2015, 06:34 | 2 |
Вводить формулу с кучей символов энкодером, как мне кажется, будет крайне не удобно.
Наверное все-же надо писать так: Код
struct Lixime { struct Lixime* next; uint32_t n; } Конкретно Lua неплохо помещается и работает на МК. У меня получалось запускать Lua 5.3.0 на lpc1768. Оперативной памяти для больших задач конечно впритык, но для формул хватит с лихвой :) На МК с внешней памятью Lua чувствтует себя совсем хорошо :)
0
|
TomkDoubti
|
|
10.04.2015, 10:46 | 3 |
Ого, спасибо! Я видать уже слишком сильно испортился билдером.
Дело в том, что алгоритм есть уже ... он работает - проверено. Хотя что вспоминать Си, что изучать Луа ... |
TomkDoubti
|
|
10.04.2015, 14:04 | 4 |
Кто работал с функцией malloc или calloc и free? Есть у кого нибудь исходник переделанной стандартной библиотеки под STM32?
|
1 / 1 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
|
|
10.04.2015, 14:52 | 5 |
пытались на 103. Глюков много было, так до конца и не допилили. Решили что ни к чему эти динамические выделения памяти, обычно заранее известно что и в каком объеме надо хранить.
0
|
TomkDoubti
|
|
10.04.2015, 20:30 | 6 |
Пичаль 80 лвла ...
|
TomkDoubti
|
|
12.04.2015, 19:29 | 7 |
Тогда можно заранее выделить память под структуры ... и по ходу работу программы заполнять массивы.
|
12.04.2015, 19:29 | |
12.04.2015, 19:29 | |
Помогаю со студенческими работами здесь
7
IDE или консоль? Отладочная консоль через JTAG консоль UART и нестандартная скорость Изменение режима работы Test Bench при симуляции, посредством ввода данных в tcl консоль (Vivado) Подготовить числа для вывода на консоль через ASCII и вывести на консоль Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Новые блоги и статьи
![]() |
||||
Использование кэша Laravel - полный гайд
bytestream 18.02.2025
Кэширование - один из наиболее эффективных способов повышения производительности веб-приложений. В современном мире, где скорость загрузки страниц напрямую влияет на удержание пользователей и. . .
|
Создаем REST API в Laravel с аутентификацией через Passport
bytestream 18.02.2025
Разработка современных веб-приложений все чаще требует создания надежного и хорошо структурированного API. REST API стал стандартом де-факто для построения взаимодействия между клиентской и серверной. . .
|
Пайплайны в Laravel - полный гайд
bytestream 18.02.2025
Разработка современных веб-приложений часто требует обработки сложных процессов, состоящих из множества последовательных шагов. Например, при создании системы комментариев может потребоваться. . .
|
Как правильно использовать @required в Symfony
bytestream 18.02.2025
При разработке приложений на Symfony мы часто сталкиваемся с необходимостью внедрения зависимостей. Фреймворк предоставляет несколько способов управления этим процессом, и одним из таких инструментов. . .
|
Система безопасности в Laravel: возможности и примеры
Wired 18.02.2025
Каждый день появляются новые виды атак и уязвимостей, которые могут поставить под угрозу конфиденциальные данные пользователей и функционирование всей системы. В этом контексте выбор надежного. . .
|
Давайте сравним Django и Laravel
Wired 18.02.2025
Django и Laravel - два мощных инструмента, которые часто сравнивают между собой. Оба фреймворка предлагают разработчикам богатый набор возможностей для создания масштабируемых веб-приложений, но. . .
|
Laravel или React - что лучше?
Wired 18.02.2025
В разработке веб выбор правильного инструмента часто определяет успех всего проекта. Особенно интересным представляется сравнение Laravel и React - двух популярных технологий, которые часто. . .
|
Laravel 11: новые возможности, гайд по обновлению
Wired 18.02.2025
Laravel 11 - это новая масштабная версия одного из самых популярных PHP-фреймворков, выпущенная в марте 2024 года. Эта версия продолжает традицию внедрения передовых технологий и методологий. . .
|
Миграции в Laravel
Wired 18.02.2025
Разработка веб-приложений на Laravel неразрывно связана с управлением структурой базы данных. При работе над проектом часто возникает необходимость вносить изменения в схему базы данных - добавлять. . .
|
Аутентификация в Laravel
Wired 18.02.2025
В современном мире веб-разработки безопасность пользовательских данных становится критически важным аспектом любого приложения. Laravel, как один из самых популярных PHP-фреймворков, предоставляет. . .
|