Tôi chắc chắn rằng tất cả những ai đã từng thử tải lên một bản phác thảo từ Arduino IDE đều đã thấy thông báo lỗi này
avrdude: ser_open(): can't open device "\\.\COM4": Access is denied.Số lượng cổng nối tiếp có thể khác nhau, nhưng lỗi là như nhau
Về cơ bản (ở dạng đơn giản hóa) lỗi này có nghĩa là cổng USB đang được sử dụng bởi một ứng dụng khác trong máy tính của bạn, vì vậy Arduino IDE không thể sử dụng nó để tải lên bản phác thảo của bạn. Điều quan trọng là phải hiểu rằng lỗi này không liên quan gì đến Arduino, việc truy cập vào các cổng nối tiếp được kiểm soát bởi hệ điều hành
Mẹo số 1. Kiểm tra cổng của bạn trong Trình quản lý thiết bị
Mở Trình quản lý thiết bị và kiểm tra xem thiết bị IoT của bạn có xuất hiện trong phần Cổng (COM & LPT) không. Lưu ý số cổng (trong trường hợp của tôi là COM4)
Mẹo số 2. Kiểm tra cổng của bạn trong Arduino IDE
Mở Arduino IDE và kiểm tra trong menu Công cụ -> Cổng mà bạn đang cố tải lên cổng mà bạn đã thấy trong Trình quản lý thiết bị. Arduino IDE khá tốt để phát hiện các thiết bị được kết nối, nhưng trong trường hợp bạn có nhiều thiết bị được kết nối cùng lúc thì điều này chắc chắn đáng để kiểm tra
Mẹo số 3. Đóng các chương trình khác
Cố gắng đóng bất kỳ chương trình nào có thể sử dụng cổng này. Thật không may, tôi không biết bất kỳ công cụ nào có thể liệt kê ứng dụng nào đang khóa một cổng cụ thể (nếu có, vui lòng chia sẻ trong phần nhận xét), vì vậy bạn phải suy nghĩ. Về cơ bản, bất kỳ ứng dụng nào cũng có thể là thủ phạm giao tiếp với thiết bị và thật không may, không chỉ ứng dụng mà trình điều khiển thiết bị cũng vậy. Ví dụ: một số trình điều khiển Bluetooth được báo cáo là khóa cổng COM ngay cả trước khi thiết bị được kết nối
Theo kinh nghiệm của tôi, các ứng dụng sau đây thường gây ra sự cố này
- biên tập mã. Bạn có mở các Arduino IDE, phiên bản Visual Studio Code hoặc ứng dụng khác mà bạn sử dụng để tạo và tải mã của mình lên không?
- Màn hình đầu cuối. Bạn có kết nối màn hình đầu cuối không?
- Ứng dụng và trình điều khiển cho các thiết bị khác. Bạn có thiết bị nào khác được kết nối với máy tính của mình qua USB hoặc Bluetooth không, e. g. máy in, máy cắt vinyl hay máy in 3D?
Mẹo số 4. Đổi tên cổng
Nếu không có cách nào ở trên hoạt động, bạn có thể đổi tên cổng và hầu hết thời gian đây là cách khắc phục sự cố cho tôi
1. Mở Trình quản lý thiết bị và điều hướng đến phần Cổng (COM & LPT) (xem ảnh chụp màn hình ở trên)
2. Nhấp chuột phải vào cổng COM của bạn và chọn Thuộc tính
3. Trong cửa sổ Thuộc tính, trước tiên hãy nhấp vào Thay đổi cài đặt để chuyển sang chế độ quản trị viên, sau đó điều hướng đến tab Cài đặt cổng
4. Trong tab Cài đặt cổng, nhấp vào nút Nâng cao
5. Trong cửa sổ Cài đặt nâng cao, chọn Số cổng COM mới
Nhấp vào OK và đóng tất cả các cửa sổ Trình quản lý thiết bị. Windows có thể yêu cầu bạn khởi động lại máy tính, nhưng theo kinh nghiệm của tôi, Arduino IDE khá thông minh để phát hiện các thay đổi cổng ngay lập tức
Bạn có biết phải làm gì nếu mã của bạn không tải lên không? . Có một số kỹ thuật khắc phục sự cố phổ biến mà bạn có thể sử dụng để khắc phục các sự cố như thế này. Trong bài học này, chúng tôi sẽ chỉ cho bạn một số điều phổ biến cần thử khi khắc phục sự cố, cũng như cách giải quyết các lỗi phổ biến mà bạn có thể gặp phải
1. Không thể mở thiết bị “\\. \COM3 hoặc Không thể mở thiết bị “\\. \COM7 hoặc Không thể mở thiết bị “\\. \COM10
Đã xảy ra lỗi khi tải lên bản phác thảo avrdude. ser_open(). không thể mở thiết bị "\\. \COM7". Hệ thống không thể tìm thấy các tập tin được chỉ định
Làm thế nào tôi có thể giải quyết nó?
Bạn nên làm một danh sách kiểm tra để đi đến kết luận
Đảm bảo rằng bạn kết nối Arduino với PC qua cáp USB
Kiểm tra xem chọn đúng cổng COM trên Arduino IDE. Trên Arduino IDE, Chuyển đến Cổng Công cụ
Kiểm tra xem có phần mềm nào khác đang sử dụng cùng một cổng nối tiếp không. Hai phần mềm không thể sử dụng cùng một cổng nối tiếp cùng một lúc
Nếu bạn có thêm một cáp USB, hãy thay thế cáp USB rồi thử lại
Nếu bạn có thêm một PC, hãy kết nối Arduino với PC khác rồi thử lại
Đặt lại PC của bạn rồi thử lại
Xin lưu ý. Đây là những liên kết liên kết. Nếu bạn mua các thành phần thông qua các liên kết này, chúng tôi có thể nhận được hoa hồng mà bạn không phải trả thêm phí. Chúng tôi đánh giá cao nó