Tại sao tôi không thể tải lên bản phác thảo trong khi các thành phần / thiết bị khác được kết nối với Uno của tôi?


19

Tôi muốn tạo ra một mạch khá đơn giản sẽ chiếu một loạt đèn LED theo trình tự, sử dụng Arduino Uno của tôi (cụ thể hơn là bản sao SainSmart). Tôi đã viết bản phác thảo của tôi và nó được biên soạn tốt. Sau đó, tôi kết nối 8 điện trở LEDS + với các chân từ 0 đến 7, sau đó kết nối Uno với máy tính của tôi qua USB.

Tôi đã tải lên các bản phác thảo thành công trong quá khứ, vì vậy tôi chắc chắn các cài đặt và trình điều khiển của mình, v.v ... là chính xác. Tuy nhiên, khi tôi cố tải lên bản phác thảo của mình lần này, nó đã không hoạt động.

Tôi đã thử loại bỏ mọi thứ tôi đã kết nối với chân của Arduino và đột nhiên quá trình tải lên hoạt động trở lại.

Lý do tại sao điều này xảy ra? Có nghĩa là tôi phải ngắt kết nối mọi thứ khỏi bảng mỗi khi tôi tải lên bản phác thảo?

Câu trả lời:


22

Vấn đề cụ thể là chân 0 và 1. Mặc dù chúng có thể được sử dụng làm chân IO kỹ thuật số thông thường, nhưng chúng cũng đóng vai trò là chân RX và TX cho cổng nối tiếp của Uno. Kết nối USB (để tải lên bản phác thảo, v.v.) được định tuyến đến cùng một chân trong nội bộ. Thật không may, điều đó có nghĩa là mọi thứ được kết nối trên chân 0 và 1 đều có thể can thiệp vào kết nối nối tiếp, ngăn chặn giao tiếp qua USB.

Nói tóm lại, không cần thiết phải ngắt kết nối mọi thứ khi tải lên bản phác thảo. Chỉ cần ngắt kết nối mọi thứ khỏi các chân 0 và 1. Thay vì phải trải qua rắc rối đó mỗi khi bản phác thảo được tải lên, tốt nhất là tránh sử dụng các chân đó trừ khi cần thiết (ví dụ: bạn hết các chân khác, hoặc dự án của bạn cần kết nối nối tiếp với thiết bị khác).


2
Cách tốt đẹp để dạy cho cộng đồng.
JVarhol

2
Vì Arduino cũng được lập trình bởi SPI, nằm trên các chân 10-13, nên cũng có thể ngăn không cho nó tải lên trên các chân này
TheDoctor

1
Hỏi đáp tốt! Tôi rất thích xem thêm các bài đăng như vậy từ bạn :)
asheeshr

3
@TheDoctor - Không chính xác! Các chân SPI chỉ có liên quan nếu bạn đang sử dụng Trình lập trình trong hệ thống. Cơ chế chương trình bootloader không đòi hỏi các chân SPI ở tất cả . Trừ khi bạn kết nối một công cụ lập trình phần cứng riêng biệt, đây không phảiđiều bạn cần lo lắng .
Sói Connor

0

"Peter R. Bloomfield" Tôi đã từng tải lên bản phác thảo trong arduino uno của mình bằng cách kết nối pin Rx và Tx nhưng bản phác thảo của tôi được tải lên. Thực tế vấn đề là trình điều khiển arduino uno có thể bị xóa trong trường hợp của bạn


1
Điều này được dự định là một câu hỏi tham khảo. Cùng một người hỏi và trả lời câu hỏi. Tôi nghi ngờ vấn đề của anh ấy là trình điều khiển đã bị xóa.
Nick Gammon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.