CoderTools

Trình Gỡ Lỗi Cổng Nối Tiếp Trực Tuyến

Công cụ gỡ lỗi nối tiếp dựa trên trình duyệt - không cần tải xuống, giám sát thời gian thực qua Web Serial API

Kết nối

Trạng thái: Đã ngắt kết nối

Giám sát dữ liệu

Gửi dữ liệu

Khoảng thời gian (ms):

Thống kê

0
Byte đã gửi
0
Byte đã nhận
00:00:00
Thời gian kết nối
0
Tốc độ dữ liệu (B/s)

Tài liệu công cụ gỡ lỗi cổng nối tiếp

Cách sử dụng công cụ này

  1. Kết nối thiết bị nối tiếp của bạn với máy tính
  2. Cấu hình các tham số kết nối (tốc độ baud, bit dữ liệu, chẵn lẻ, bit dừng)
  3. Nhấp "Kết nối" để thiết lập kết nối nối tiếp
  4. Giám sát dữ liệu nhận được theo thời gian thực
  5. Gửi dữ liệu ở định dạng văn bản hoặc HEX
  6. Sử dụng lịch sử gửi để lặp lại các lệnh trước đó
  7. Xem thống kê kết nối và tốc độ dữ liệu

Tham số kết nối

Tốc độ Baud
Tốc độ truyền dữ liệu (bit mỗi giây)
Bit dữ liệu
Số bit trên mỗi khung dữ liệu (5-8)
Chẵn lẻ
Phương pháp phát hiện lỗi (Không, Chẵn, Lẻ)
Bit dừng
Chỉ báo kết thúc khung (1 hoặc 2)

Nguyên lý triển khai

Công cụ này được triển khai bằng Web Serial API, một giao diện trình duyệt hiện đại cho phép ứng dụng web giao tiếp trực tiếp với các thiết bị nối tiếp. Dưới đây là các chi tiết triển khai chính:

API chính: Web Serial API

Công cụ được xây dựng trên Web Serial API, cung cấp các giao diện JavaScript để truy cập cổng nối tiếp thông qua trình duyệt.

Tính năng chính:

  • Truy cập cổng nối tiếp gốc của trình duyệt mà không cần cài đặt trình điều khiển hoặc plugin
  • Hỗ trợ nhiều cấu hình cổng nối tiếp (tốc độ baud, bit dữ liệu, chẵn lẻ, bit dừng, điều khiển luồng)
  • Giao tiếp dữ liệu hai chiều sử dụng Readable/Writable Streams
  • Các thao tác không đồng bộ dựa trên Promises và async/await

Các bước triển khai

1. Yêu cầu quyền truy cập cổng nối tiếp
const port = await navigator.serial.requestPort();

Sử dụng navigator.serial.requestPort() để nhắc người dùng chọn thiết bị cổng nối tiếp. Điều này yêu cầu tương tác của người dùng để đảm bảo an toàn.

2. Cấu hình và mở cổng
await port.open({
  baudRate: 9600,
  dataBits: 8,
  parity: 'none',
  stopBits: 1,
  flowControl: 'none'
});

Gọi phương thức port.open() với các tham số cấu hình bao gồm tốc độ baud, bit dữ liệu, chẵn lẻ, bit dừng và điều khiển luồng.

3. Đọc dữ liệu
const reader = port.readable.getReader();
while (true) {
  const { value, done } = await reader.read();
  if (done) break;
  // Xử lý dữ liệu nhận được (Uint8Array)
  const text = new TextDecoder().decode(value);
}

Lấy reader từ port.readable và sử dụng vòng lặp không đồng bộ để đọc dữ liệu liên tục. Dữ liệu nhận được ở định dạng Uint8Array và cần được giải mã bằng TextDecoder.

4. Gửi dữ liệu
const writer = port.writable.getWriter();
const encoder = new TextEncoder();
const data = encoder.encode('Hello Serial!');
await writer.write(data);

Lấy writer từ port.writable, sử dụng TextEncoder để chuyển đổi chuỗi thành Uint8Array, sau đó gọi writer.write() để gửi dữ liệu.

5. Đóng kết nối
await reader.cancel();
await reader.releaseLock();
await writer.releaseLock();
await port.close();

Trước khi đóng, giải phóng khóa của reader và writer, sau đó gọi port.close() để đóng kết nối cổng nối tiếp.

API chính được sử dụng

  • navigator.serial.requestPort() - Yêu cầu người dùng chọn cổng nối tiếp
  • port.open(options) - Mở cổng nối tiếp với cấu hình
  • port.readable.getReader() - Lấy reader của luồng đọc
  • port.writable.getWriter() - Lấy writer của luồng ghi
  • reader.read() - Đọc dữ liệu từ cổng nối tiếp
  • writer.write(data) - Ghi dữ liệu vào cổng nối tiếp
  • TextDecoder / TextEncoder - Chuyển đổi giữa chuỗi và mảng byte
  • port.addEventListener('disconnect') - Lắng nghe sự kiện ngắt kết nối thiết bị

Tính năng chính

Web Serial API

Truy cập trực tiếp cổng nối tiếp từ trình duyệt mà không cần phần mềm bổ sung

Giám sát thời gian thực

Giám sát dữ liệu trực tiếp với hỗ trợ dấu thời gian và tự động cuộn

Chế độ HEX

Gửi và nhận dữ liệu ở định dạng thập lục phân với xác thực

Lịch sử gửi

Theo dõi và phát lại các lệnh đã gửi trước đó

Thống kê

Giám sát tốc độ truyền dữ liệu và thời gian kết nối

Đa ngôn ngữ

Hỗ trợ tiếng Trung, Anh, Nhật, Pháp và Tây Ban Nha

Trường hợp sử dụng phổ biến

Phát triển và gỡ lỗi

  • Phát triển Arduino và ESP32
  • Gỡ lỗi hệ thống nhúng
  • Phát triển và kiểm tra firmware
  • Cấu hình thiết bị IoT

Kiểm tra và truyền thông

  • Kiểm tra lệnh AT cho modem
  • Giám sát dữ liệu cảm biến
  • Phân tích và gỡ lỗi giao thức
  • Giao tiếp thiết bị công nghiệp

Hỗ trợ trình duyệt và yêu cầu

Trình duyệt được hỗ trợ

  • Chrome 89+
  • Edge 89+
  • Firefox (không được hỗ trợ)
  • Safari (không được hỗ trợ)

Yêu cầu

  • Trình duyệt dựa trên Chromium với hỗ trợ Web Serial API
  • Kết nối HTTPS (bắt buộc cho Web Serial API)
  • Quyền của người dùng để truy cập cổng nối tiếp
  • Đã cài đặt trình điều khiển thiết bị nối tiếp tương thích

Tiêu chuẩn và thông số kỹ thuật liên quan

RS-232: RS-232: Tiêu chuẩn truyền thông nối tiếp cổ điển xác định đặc tính điện và thông số kỹ thuật đầu nối
UART: UART: Bộ thu-phát không đồng bộ phổ quát, giao thức cốt lõi cho truyền thông nối tiếp
USB-to-Serial: USB-sang-nối tiếp: Phương pháp chuyển đổi nối tiếp phổ biến trong các thiết bị hiện đại

Để biết thêm thông tin: Tài liệu tiêu chuẩn giao thức RS-232 và UART trên Wikipedia

Menu Nhanh

Chưa có công cụ gần đây