Arduino Micro 직렬 포트가 몇 초 후에 연결이 끊어집니다.

Arduino Micro 직렬 포트가 몇 초 후에 연결이 끊어집니다.

최근 Arduino Micro ATMega32u4를 구입했습니다. 처음에는 "Mac OSX El Capitan"에서 테스트했고 누군가의 코드를 테스트하거나 El Capitan 보안 설정을 업데이트하기 전까지는 잘 작동했습니다. 처리할 수 있는 것보다 더 많은 기능을 갖춘 main() 함수를 업로드하면 main()을 재설정할 때까지 보드 작동이 중지된다는 내용을 읽었습니다. 그래서 Linux 컴퓨터에서 Arduino를 사용해 보기로 결정했지만 약 7초 만에 연결이 끊어졌습니다. 이것이 Micros의 일반적인 문제이며 재설정 버튼을 누르고 깜박이는 예제를 빠르게 업로드해야 한다는 오래된 기사를 읽었습니다. 그 때 포트가 작동하기 때문입니다. 그런데 업로드를 클릭하자마자 이런 오류 메시지가 나타납니다.

Sketch uses 928 bytes (2%) of program storage space. Maximum is 32,256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2,039 bytes for local variables. Maximum is 2,048 bytes.
ioctl("TIOCMSET"): Broken pipe
ioctl("TIOCMSET"): Broken pipe
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x3f
An error occurred while uploading the sketch

처음 몇 초 동안 arduino에서 arduino 연결이 성공한 것을 볼 수 있지만 lsusb7 dmesg | tail초 후에 dmesg | tail에서 이 오류 메시지가 표시되고 lsusb에서 더 이상 볼 수 없습니다.

[20720.796854] usb 3-1.3: device descriptor read/64, error -32
[20720.972844] usb 3-1.3: device descriptor read/64, error -32
[20721.148875] usb 3-1.3: new full-speed USB device number 21 using ehci-pci
[20721.220860] usb 3-1.3: device descriptor read/64, error -32
[20721.396880] usb 3-1.3: device descriptor read/64, error -32
[20721.572879] usb 3-1.3: new full-speed USB device number 22 using ehci-pci
[20721.980906] usb 3-1.3: device not accepting address 22, error -32
[20722.052911] usb 3-1.3: new full-speed USB device number 23 using ehci-pci
[20722.460927] usb 3-1.3: device not accepting address 23, error -32
[20722.461090] usb 3-1-port3: unable to enumerate USB device

Arduino IDE에서는 처음 7초 동안 직렬 포트가 /dev/ttyCOM0으로 표시되고 7초 후에 다시 /dev/ttyS0으로 돌아가서 사용할 수 없습니다.

보드에서 리셋 버튼을 누르면 tx와 rx가 동시에 깜박이고 다른 LED는 녹색으로 켜지고 가끔 3~4초 동안 깜박이고, 리셋 버튼을 두 번 누르면 약 7초간 깜박입니다. 초. 보드에서 재설정을 누르고 업로드를 클릭하면 녹색 LED 깜박임이 꺼지고 tx 및 rx 깜박임 순서로 들어갑니다. 또는 때때로 녹색으로 계속 깜박이는데 다음 오류가 발생합니다. Arduino: 1.6.12 (Linux), Board: "Arduino/Genuino Uno"

Sketch uses 928 bytes (2%) of program storage space. Maximum is 32,256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2,039 bytes for local variables. Maximum is 2,048 bytes.
ioctl("TIOCMSET"): Broken pipe
ioctl("TIOCMSET"): Broken pipe
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x3f
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x3f
An error occurred while uploading the sketch

이 문제를 해결하는 방법에 대한 팁이나 제안 사항이 있습니까? 감사해요

답변1

이 문제를 해결하려면 10.11.6 El Capitan을 실행하는 Mac OSX가 arduino 마이크로를 인식하지 못하지만 Linux 상자에서는 최소 7초 동안 신호를 수신하기 때문에 Linux 상자를 사용해야 합니다. 그래서 마이크로를 USB 포트에 꽂지 않아도 됩니다. 간단한 최소한의 스케치로 아두이노 IDE를 열고 레오나르도 보드를 선택합니다(네, 마이크로를 사용하더라도). 마이크로에 있는 리셋 버튼을 누르고 계속 누르세요. 보드를 USB 포트에 꽂아 놓습니다. IDE 창이 스케치 컴파일을 마치고 업로드 프로세스를 시작하면 재설정 버튼을 계속 누르고 있습니다.

최종 결과: 스케치가 로드되고 포트 손실 연결이 수정되었으며 IDE 프로그램이 El Capitan에서도 내 마이크로를 계속 인식합니다. 제가 업로드한 스케치가 Arduino 마이크로 처리하기에는 너무 크기 때문입니다.

관련 정보