2011-04-04 43 views
6

Có thể đặt tốc độ truyền cho máy Mac trong thiết bị đầu cuối không? Nếu có, làm thế nào để thiết lập tốc độ truyền trong thiết bị đầu cuối thông qua thiết bị đầu cuối?Cách đặt tốc độ truyền cho máy Mac trong thiết bị đầu cuối

Tôi đang cố gắng nói chuyện với máy Mac bằng cách sử dụng Arduino (bộ vi điều khiển nguồn mở), một XBee (trình kết nối không dây) để nhập vào thiết bị đầu cuối thông qua màn hình nối tiếp. Vấn đề duy nhất tôi gặp phải là tốc độ truyền của màn hình nối tiếp và đầu cuối khác nhau. Tôi có thể dễ dàng thay đổi tốc độ truyền cho màn hình nối tiếp trong Arduino, nhưng tôi không biết tốc độ truyền cho thiết bị đầu cuối trong Mac.

+0

Tôi không hiểu những gì bạn đang yêu cầu. –

+0

Vâng những gì tôi đang cố gắng làm là nói chuyện với mac bằng cách sử dụng một arduino (mã nguồn mở vi điều khiển), một xbee (không dây comunicator) để gõ vào thiết bị đầu cuối thông qua màn hình nối tiếp. Vấn đề duy nhất tôi đang gặp là tốc độ truyền của màn hình nối tiếp và đầu cuối khác nhau. Tôi có thể dễ dàng thay đổi tốc độ truyền trong màn hình nối tiếp nhưng tôi không biết làm thế nào để thay đổi tốc độ truyền trong thiết bị đầu cuối. – luca590

+0

bạn nên thêm thông tin đó vào câu hỏi của mình. – HaskellElephant

Trả lời

0

stty 19200 hoặc hơn.

Kiểm tra man stty, bạn có thể thiết lập bit stop, tốc độ vv

+0

bạn không thể đặt chúng lệnh này chỉ cho phép bạn xem chúng. Khi cố gắng thiết lập tốc độ truyền tôi nhận được tùy chọn bất hợp pháp – luca590

+1

bây giờ kiểm tra nó thông qua cáp modem null và cổng nối tiếp. stty ** có thể đặt ** tốc độ truyền. – jm666

+0

Điều đó sẽ tuyệt vời, ngoại trừ nó không hoạt động: '> stty -f /dev/tty.usbserial-A96HPNJJ tốc độ 115200' ' 9600' '> stty -f /dev/tty.usbserial-A96HPNJJ' 'tốc độ 9600 baud; ' ' lflags: -icanon -isig -iexten -echo' 'iflags: -icrnl -ixon -ixany -imaxbel -brkint' ' oflags: -opost -onlcr -oxtabs' 'cflags: cs8 -parenb' – Jeff

6

Trên Mac OS, stty dường như chỉ có thể thay đổi cài đặt đầu cuối cho quyền truy cập liên tục.

Tính năng này hoạt động:
- Truy cập giao diện nối tiếp, ví dụ: cat /dev/cu.usbserial, cài đặt mặc định sẽ được sử dụng lúc đầu.
- Trên một thiết bị đầu cuối khác sử dụng stty, ví dụ: stty -f /dev/cu.usbserial 230400 để đặt tốc độ truyền, cài đặt của thiết bị đầu cuối được truy cập trước đó sẽ thay đổi. HOẶC
- Có một cửa sổ thời gian nhỏ sau khi thực hiện stty, trong đó truy cập có thể được thực hiện với các thông số mong muốn, ví dụ: stty -f /dev/cu.usbserial 230400 & cat /dev/cu.usbserial thực hiện stty, xóa nó và sau đó thực hiện ngay lập tức quyền truy cập vào thiết bị nối tiếp.

Điều này dường như chỉ hoạt động đối với các tệp thiết bị /dev/cu.*. Tôi không biết sự khác biệt từ các tệp /dev/tty.*.

+0

Tôi đang tìm kiếm giải pháp cho vấn đề này cho THÁNG! Giải pháp của bạn đã làm điều đó cho tôi. Tôi đang sử dụng 'màn hình' để kết nối với một bảng dev với 460800 Baud.Cách đầu tiên (sử dụng hai thiết bị đầu cuối) mà bạn cung cấp không hoạt động ('thiết bị bận '). Nhưng cái thứ hai với việc gửi 'stty' vào nền đã làm việc:' stty -f /dev/cu.usbserial-141A 460800 & screen /dev/cu.usbserial-141A 460800' –

+0

Tôi nên thêm 'màn hình' hoặc bất kỳ chương trình thiết bị đầu cuối khác thường không có vấn đề để thiết lập baudrate thích hợp. Nhưng có vẻ như là một lỗi trong OSX mà thông thường không cho phép đặt baudrates cao hơn 230400. Vấn đề là độc lập với chương trình đầu cuối và trình điều khiển được sử dụng. Tôi đã viết về nó [ở đây] (https://cervisial.wordpress.com/2016/02/02/using-serial-adapters-with-baudrates-230400-on-osx/). Nhưng với giải pháp thứ hai của bạn có thể sử dụng các baudrates cao hơn. Cảm ơn một lần nữa! –

Các vấn đề liên quan