2011-08-29 18 views

Trả lời

24

Cách đặt "điểm ngắt nguồn" trên Arduino là thêm đầu ra nối tiếp để gửi giá trị mà bạn muốn xem tới Màn hình nối tiếp.

Khi bạn sẵn sàng, bước tiếp theo là chuyển sang WinAVR, AVR Studio và Atmel JTAG Mark II hoặc Atmel Dragon.

Các chương trình và thiết bị này sẽ cho phép bạn tạo mã C và một bước thông qua mã và theo dõi các biến và thanh ghi. Các thiết bị JTAG có thể thực hiện một bước thông qua mã C của bạn hoặc mã lắp ráp được tạo bởi trình biên dịch. Hãy báo trước rằng lập trình C nhúng cao cấp vẫn còn rất gần với máy và bạn phải cẩn thận một bước gián đoạn thói quen, thói quen hẹn giờ và các thói quen mức thấp khác vì nhiều lần nó sẽ ngăn chặn mã hoạt động chính xác.

+1

"Cách để thiết lập 'breakpoint nguồn' trên Arduino là thêm một đầu ra nối tiếp để gửi giá trị bạn muốn xem đến Monitor nối tiếp . " Điều gì sẽ xảy ra nếu bạn đang sử dụng cổng nối tiếp của mình cho một thứ khác? – Jules

+2

Ba lựa chọn của nhiều người, nâng cấp môi trường phát triển của bạn bằng cách sử dụng AVR Studio và một thiết bị JTAG, sử dụng một mega Arduino có nhiều cổng nối tiếp hoặc sử dụng thư viện nối tiếp phần mềm. – Jeff

+0

Giải pháp Tôi đang thực sự sử dụng: dính một màn hình LCD trên thiết bị và sử dụng để gỡ lỗi thay vì giao diện điều khiển nối tiếp, nhưng những tùy chọn này cũng thú vị. Đã không đi qua phần mềm nối tiếp trước đây, nhưng có vẻ hữu ích cho các dự án trong tương lai ... – Jules

30

Plugin Visual Micro cho Microsoft Visual Studio 2015 Community Edition (miễn phí) cung cấp trình gỡ lỗi USB cho Arduino. Nó cho phép bạn làm chính xác như bạn mô tả. (Đừng quên nhấn để cài đặt C++ trong khi cài đặt IDE)

Trình gỡ rối hỗ trợ nối tiếp, RF, Bluetooth và một số Wi-Fi. Nó cho phép các giá trị của các biến được theo dõi hoặc cập nhật trong khi Arduino chạy. Biểu đồ và dữ liệu/hình ảnh pin cùng với đồng hồ, dấu vết, ngắt được bao gồm.

Enter image description here

Tin tức: tháng 1 năm 2016 cũng bao gồm phiên bản của một trình gỡ lỗi GDB cho Arduino Zero. Cũng giống như trình gỡ rối Serial/Bluetooth, phiên bản GDB hỗ trợ mã nguồn ino/cpp, nhưng hỗ trợ thêm gỡ rối lõi và thư viện Arduino. Nó hỗ trợ nhiều tính năng như: bước qua, bước ra, hướng dẫn bước hoặc dòng nguồn, bộ nhớ, sổ đăng ký, người dân địa phương, đồng hồ, biểu thức trực tiếp và theo dõi ngăn xếp.

+0

Bạn cũng có thể sử dụng điều này để gỡ lỗi C và lắp ráp không? – Pyjong

+0

@pyjong Trình gỡ lỗi mặc định sử dụng Serial hoặc Wifi không hoạt động với c, nó sẽ chỉ hoạt động với .Ino và .cpp. Tuy nhiên nếu bo mạch của bạn hỗ trợ Gdb hoặc bạn có trình gỡ lỗi phần cứng thì có các tùy chọn khác, vì vậy hãy mở một chuỗi trong diễn đàn của chúng tôi và nêu lên một câu hỏi. Chúng tôi sẽ trả lời và hỗ trợ. Cảm ơn –

+0

Không có một số yêu cầu cho phần cứng để tính năng này hoạt động không? Ví dụ. nó sẽ hoạt động trên Arduino Uno? (Một khách hàng tiềm năng có thể là * [Debugger for Arduino] (https://www.codeproject.com/Articles/1037057/Debugger-for-Arduino) * (Dự án Mã).) –

3

Để kiểm tra các biến tôi chỉ in chúng vào màn hình nối tiếp. Dưới đây là một ví dụ tôi đang làm việc trên vào lúc này:

# Setup 
Serial.begin(9600); 

# Loop 
Serial.println(String(index) + " : " + String(total) + " : " + String(average)); 
Các vấn đề liên quan