TomkDoubti
|
|
1 | |
Консоль09.04.2015, 22:45. Показов 5504. Ответов 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 | |
Ответы с готовыми решениями:
6
Портативная игровая консоль PinBoard II и консоль Seagate Передача данных на консоль IDE или консоль? |
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
Отладочная консоль через JTAG консоль UART и нестандартная скорость Изменение режима работы Test Bench при симуляции, посредством ввода данных в tcl консоль (Vivado) Подготовить числа для вывода на консоль через ASCII и вывести на консоль Программа выводит ответ и в консоль и в файл, хотя нужно только в консоль Не выводит текст в консоль, открывается пустая консоль без текста Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |