#Aroudio怎么清空数据?
原来我编了一个持续发送信息到串口的程序:
#include <DFRobot_DHT.h>
#include <DFRobot_URM10.h>
#include <DFRobot_Libraries.h>
DFRobot_DHT dht11_4;
DFRobot_LM35 LM35;
DFRobot_URM10 urm10;
void setup() {
Serial.begin(9600);
dht11_4.begin(4, DHT11);
}
void loop() {
if ((Serial.available())) {
Serial.println((String((String((String(dht11_4.getTemperature()) + String("°C "))) + String((String(LM35.getTemperature(A0)) + String("°C "))))) + String((String(dht11_4.getHumidity()) + String("%rh")))));
Serial.println((String((String((String("%") + String((analogRead(A1) / 10.23)))) + String(" light "))) + String((String((String("%") + String((analogRead(A0) / 10.23)))) + String(" rotation")))));
Serial.println((String((urm10.getDistanceCM(7, 8))) + String(" cm")));
}
}
##结果新的代码上传不上去了:
#include <DFRobot_URM10.h>
#include <DFRobot_Libraries.h>
volatile float mind_n_my_float_variable;
DFRobot_URM10 urm10;
DFRobot_Tone DFTone;
void setup() {
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
mind_n_my_float_variable = (urm10.getDistanceCM(7, 8));
}
void loop() {
if ((!digitalRead(3))) {
while (!digitalRead(3)) {}
mind_n_my_float_variable = (urm10.getDistanceCM(7, 8));
}
if ((!digitalRead(2))) {
while (!digitalRead(2)) {}
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
while (!(!digitalRead(2))) {}
while (!digitalRead(2)) {}
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
}
if ((mind_n_my_float_variable==(urm10.getDistanceCM(7, 8)))) {
DFTone.play(9, 554, 125);
}
}
##也没法清空代码:
void setup() {
}
void loop() {
}
项目使用 444 字节(1%)的程序存储空间。最大值为 32256 字节。
个全局变量使用 9 个字节(0%)的动态内存,剩下 2039 个字节用于局部变量。最大值为 2048 字节。
avrdude: ser_open(): can't set com-state for "\.\COM4"
上传失败: 上传错误:exit status 1
在!线!等!急!
Mind+ V1.7.3 RC3.0
家人们,我改好了!
代码:
/*!
* MindPlus
* uno
*
*/
#include <DFRobot_URM10.h>
#include <DFRobot_Libraries.h>
#include <DFRobot_LiquidCrystal_I2C.h>
volatile float mind_n_my_float_variable;
void DF_color___r(float mind_n_r, float mind_n_g, float mind_n_b);
DFRobot_LiquidCrystal_I2C lcd1602;
DFRobot_URM10 urm10;
DFRobot_Tone DFTone;
void setup() {
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
lcd1602.begin(0x27);
n = (urm10.getDistanceCM(7, 8));
}
void loop() {
if ((!digitalRead(3))) {
n = (urm10.getDistanceCM(7, 8));
}
if ((!digitalRead(2))) {
while (!digitalRead(2)) {}
DFTone.play(5, 785, 125);
DFTone.play(5, 785, 125);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
DF_color___r(0, 0, 200);
lcd1602.clear();
lcd1602.printLine(uint32_t(1), "The program has ");
lcd1602.printLine(uint32_t(2), "been suspended. ");
while (!(!digitalRead(2))) {}
while (!digitalRead(2)) {}
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
DF_color___r(0, 200, 0);
}
if ((n==(urm10.getDistanceCM(7, 8)))) {
DF_color___r(0, 200, 0);
}
else {
if (((urm10.getDistanceCM(7, 8))<15)) {
DFTone.play(5, 785, 250);
DF_color___r(200, 0, 0);
}
else {
DFTone.play(5, 264, 250);
DF_color___r(120, 60, 0);
}
}
lcd1602.printLine(uint32_t(1), (urm10.getDistanceCM(7, 8)));
lcd1602.printLine(uint32_t(2), (n - (urm10.getDistanceCM(7, 8))));
}
void color___r(float r, float g, float b) {
analogWrite(9, r);
analogWrite(10, g);
analogWrite(11, b);
}
以下回答参考GPT并且由Bony-整理:
根据您提供的信息,我看到您在上传代码时遇到了“上传错误:exit status 1”的问题,这可能是由于上传时与串口通信时出现了问题,建议您检查您的串口连接和设置。
如果您希望清空Arduino板上的程序,请在Arduino IDE中打开一个新的空白文件,然后将以下代码复制并粘贴到该文件中:
void setup() {
}
void loop() {
}
然后将该代码上传到您的Arduino板中即可清空其程序。请注意,在上传新程序之前,您需要确保正确地选择了板类型、串口和程序员。