KELI5设计一个计算器,通过键盘输入 0~9 的数字,以及运算法则加减乘除,能通过串口在电脑端串口调试软件上显示运算结果。
时间: 2023-11-12 07:04:18 浏览: 51
好的,我来为您解释一下。
首先,您需要准备一个微控制器(比如Arduino)和一个串口模块(比如CP2102)。
然后,您需要编写一个程序,使得这个微控制器能够读取键盘输入的数字和运算符,并进行相应的计算。
以下是一个简单的例子(仅供参考):
```c++
#include <SoftwareSerial.h>
SoftwareSerial SerialMonitor(2, 3); // TX, RX
void setup() {
SerialMonitor.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
char input = Serial.read();
int num1, num2, result;
char op;
if (input >= '0' && input <= '9') {
num1 = input - '0';
SerialMonitor.print(num1);
} else if (input == '+' || input == '-' || input == '*' || input == '/') {
op = input;
SerialMonitor.print(op);
} else if (input == '=') {
if (op == '+') {
result = num1 + num2;
} else if (op == '-') {
result = num1 - num2;
} else if (op == '*') {
result = num1 * num2;
} else if (op == '/') {
result = num1 / num2;
}
SerialMonitor.println(result);
} else {
SerialMonitor.println("Invalid input");
}
}
}
```
这个程序会读取串口输入,并根据输入的数字和运算符进行相应的计算。当输入等于号时,会将计算结果发送回串口。
在上面的例子中,我们使用了一个虚拟串口(SoftwareSerial),因为Arduino只有一个硬件串口,而我们需要将一个串口连接到电脑,另一个串口连接到键盘。
您需要将该程序上传到您的微控制器上,然后通过串口调试软件(比如Serial Monitor或Putty)连接到该串口。然后您就可以开始使用键盘进行计算了。
希望这可以帮助到您。
相关推荐
![text/x-java](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![text/x-java](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)