Хочу сделать калькулятор через монитор последовательности
- Войдите на сайт для отправки комментариев
Пт, 26/03/2021 - 01:56
Хочу сделать калькулятор через монитор последовательности никак не виходит.
ПОМОГИТЕ
Примерный код:
#include <Keypad.h>
#include <Wire.h>
long first = 0;
long second = 0;
double total = 0;
char customKey;
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'1','2','3','+'},
{'4','5','6','-'},
{'7','8','9','*'},
{'C','0','=','/'}
};
byte rowPins[ROWS] = {7,6,5,4};
byte colPins[COLS] = {3,2,1,0};
Keypad customKeypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup()
{
Serial.begin(9600);
for(int i=0;i<=3;i++);
delay(4000);
}
void loop()
{
customKey = customKeypad.getKey();
switch(customKey)
{
case '0' ... '9':
first = first * 10 + (customKey - '0');
Serial.println(first);
break;
case '+':
first = (total != 0 ? total : first);
Serial.print("+");
second = SecondNumber();
total = first + second;
Serial.println(total);
first = 0, second = 0;
break;
case '-':
first = (total != 0 ? total : first);
Serial.println("-");
second = SecondNumber();
total = first - second;
Serial.println(total);
first = 0, second = 0;
break;
case '*':
first = (total != 0 ? total : first);
Serial.println("*");
second = SecondNumber();
total = first * second;
Serial.println(total);
first = 0, second = 0;
break;
case '/':
first = (total != 0 ? total : first);
Serial.println("/");
second = SecondNumber();
second == 0 ? lcd.print("Invalid") :
total = (float)first / (float)second;
Serial.println(total);
first = 0, second = 0;
break;
}
}
long SecondNumber()
{
while( 1 )
{
customKey = customKeypad.getKey();
if(customKey >= '0' && customKey <= '9')
{
second = second * 10 + (customKey - '0');
Serial.println(second);
}
if(customKey == '=') break;
}
return second;
}
!Если что делаю в тинкеркаде!
Хочу сделать калькулятор через монитор последовательного интерфейса никак не виходит.
Будешь срать во все темы - вылетишь.
Почитай на досуге http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
и вопрос сформулируй внятно.
Хочу сделать калькулятор через монитор последовательности никак не виходит.
Ничего удивительного. Если Вы и на Си пишете так же, как по-русски, у Вас никогда ничего не выйдет. Аккуратнее надо с языком.
И, кромке того, правила сетевой этик рекомендуют почитать форум хотя бы 2-3 дня прежде, чем писать на него. У Вас же от момента регистрации до отправки сообщения не прошло и часа.
монитор последовательности
Это что такое?
никак не виходит.
Принято к сведению. Если у Вас есть вопрос(ы), то Вы забыли их задать.
P.S. Вашего кода не читал. Хотите, чтобы кто-то читал - вставьте правильно.