Arduino Mega 编程失败

问题描述 投票:0回答:1

我正在尝试使用 arduino mega 对 8 位寄存器进行编程,但是当我将程序发送到 arduino 时,出现此错误。我检查了我的代码,但没有看到任何可能导致错误的内容。 代码:

//Qh´ used for daisychain. Can connect to other register to store value of 7(in shift register) into 0(in shift register).
//High = ouputs DISABLED, low = ouputs ENABLED(reverse)
const int outputEnable = 0;
//All outputs(in storage register)
const int r0 = 1;
const int r1 = 2;
const int r2 = 3;
const int r3 = 4;
const int r4 = 5;
const int r5 = 6;
const int r6 = 7;
const int r7 = 8;

//input for 0. Serial clock MUST be HIGH
const int input = 9;
//High = bits move 1 to left + 0 accept input, low = next action
const int serialClock = 10;
//all serial values = 0
const int reset = 11;
//High = copy shift to storage, low = none
const int registClock = 12;
int i = 0;
void setup() {
  // put your setup code here, to run once:
  pinMode(outputEnable, OUTPUT);
  pinMode(r0, INPUT);
  pinMode(r1, INPUT);
  pinMode(r2, INPUT);
  pinMode(r3, INPUT);
  pinMode(r4, INPUT);
  pinMode(r5, INPUT);
  pinMode(r6, INPUT);
  pinMode(r7, INPUT);
  pinMode(input, OUTPUT);
  pinMode(serialClock, OUTPUT);
  pinMode(reset, OUTPUT);
  pinMode(registClock, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  int i = 0;
  while(i<5) {
    digitalWrite(outputEnable, 0);
    digitalWrite(serialClock, 0);
    digitalWrite(serialClock, 1);
    digitalWrite(input, 1);
    digitalWrite(serialClock, 0);
    digitalWrite(serialClock, 1);
    digitalWrite(input, 0);
    i += 1;
  }
  digitalWrite(registClock, 1);
  digitalWrite(registClock, 0);
  digitalWrite(reset, 1);
  digitalWrite(reset, 0);
  
  Serial.write(r0);
  Serial.write(r1);
  Serial.write(r2);
  Serial.write(r3);
  Serial.write(r4);
  Serial.write(r5);
  Serial.write(r6);
  Serial.write(r7);
  
}

错误:

avrdude: stk500v2_ReceiveMessage(): timeout

avrdude: stk500v2_setparm(): failed to set parameter 0x9e
avrdude: stk500v2_recv(): checksum error
avrdude: stk500v2_getsync(): can't communicate with device: resp=0x01
avrdude: stk500v2_command(): unknown status 0xc8
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500v2_command(): unknown status 0x01
avrdude: stk500v2_disable(): failed to leave programming mode
Failed uploading: uploading error: exit status 1

我尝试重新启动开发板、计算机并更改电缆所在的端口。我什么也没做。我使用的是 Windows 11。

arduino
1个回答
0
投票

我解决了。我不知道为什么会这样,但现在可以了。

© www.soinside.com 2019 - 2024. All rights reserved.