SCREEN:
LƯU Ý: màn hình thực sự là không thể gửi hex, như xa như tôi biết. Để làm điều đó, hãy sử dụng echo
hoặc printf
Tôi đã sử dụng đề xuất trong bài đăng này để ghi vào cổng nối tiếp, sau đó sử dụng thông tin từ một số khác post để đọc từ cổng. Tôi thấy rằng việc sử dụng màn hình là một giải pháp "dễ dàng hơn", vì nó sẽ mở một phiên đấu nối trực tiếp với cổng đó. (Tôi đặt dễ dàng hơn trong dấu ngoặc kép, bởi vì màn hình có một giao diện thực sự lạ, IMO, và có một số đọc thêm để tìm ra nó.)
Bạn có thể thực hiện lệnh này để mở một phiên màn hình, sau đó bất cứ điều gì bạn gõ sẽ được gửi đến cảng, cộng với giá trị trả về sẽ được in dưới nó:
screen /dev/ttyS0 19200,cs8
(Thay đổi ở trên để phù hợp với nhu cầu của bạn cho tốc độ, chẵn lẻ, dừng bit, vv) Tôi nhận ra màn hình không phải là "dòng lệnh linux" như bài viết yêu cầu cụ thể, nhưng tôi nghĩ rằng đó là trong cùng một tinh thần. Ngoài ra, bạn không phải gõ tiếng vọng và trích dẫn mọi lúc.
ECHO:
theo câu trả lời thuộc về pháp quan droid. BAO GIỜ, điều này đã không làm việc cho tôi cho đến khi tôi cũng sử dụng lệnh cat (cat < /dev/ttyS0
) trong khi Tôi đã gửi lệnh echo.
printf:
tôi thấy rằng người ta cũng có thể sử dụng '% x' lệnh printf của:
c="\x"$(printf '%x' 0x12)
printf $c >> $SERIAL_COMM_PORT
Một lần nữa, cho printf, bắt đầu cat < /dev/ttyS0
trước khi gửi lệnh.
Cảm ơn bạn rất nhiều vì đã trả lời, tôi đã thử lệnh echo -n CTRL + VCTRL + RCTRRL + VCTRL + B từ dòng lệnh nhưng tôi không thể thực hiện được, tôi muốn thử các lệnh khác, vì vậy tôi muốn biết bạn đưa ra các bản dịch này (0x12 =^R, 0x02 =^B), đây không phải là bản dịch ascii mà tôi cho là. –
@erincarikan: sử dụng 'man ascii' để xem cách 0x12 liên quan đến Ctrl-R. Chúng là ascii thuần khiết. Có thể một số kết hợp ctrl sẽ không hoạt động, như ctrl- @ (NUL). Nó có thể được dễ dàng hơn để viết một chương trình để làm một giao thức nhị phân như thế này. – wallyk
cảm ơn tôi hoàn toàn có nó, nhưng tiếc là nó không hoạt động, tôi nghi ngờ rằng một cái gì đó là can thiệp với stty, tôi không có gpsd chạy. Tôi phải nhìn vào điều này nhiều hơn. –