Làm cách nào để đặt tốc độ UART?


12

Bạn nên đặt tốc độ truyền của UART như thế nào

Câu hỏi thưởng: Tốc độ baud nào có sẵn trên RPi?

Chỉnh sửa : Kể từ khi đọc câu trả lời của Steve, tôi đã thấy rằng có hai UART có sẵn.

Mini-UART có thể hoạt động lên tới 32Mbaud, nhưng có một bộ đệm nhỏ và do đó sẽ cần rất nhiều CPU để theo kịp.

Ngoài ra còn có một UART đầy đủ tính năng hơn với bộ đệm lớn hơn, tôi chưa tìm thấy tốc độ tối thiểu / tối đa cho nó.


Bạn có muốn đặt tốc độ baud khi chạy, để giao tiếp với thiết bị khác hoặc khi khởi động, để bạn có thể đăng nhập vào Pi qua cổng nối tiếp của nó không?
Malvineous

@Malvineous, Thời gian khởi động là ok, nhưng thời gian chạy cũng hữu ích. Tôi thích nói chuyện với các thiết bị khác.
John La Rooy

Câu trả lời:


9

Theo Hướng dẫn bắt đầu nhanh của Farnell , tốc độ truyền mặc định là: 115200 . Một cuộc thảo luận khá chi tiết về các cài đặt và khả năng của UART có thể được tìm thấy trong bài đăng trên blog này Thêm về các cổng nối tiếp Raspberry Pi . Chi tiết triển khai cụ thể / thách thức khi làm việc với cổng nối tiếp có thể được tìm thấy trong bài đăng trên blog Bắt Raspberry Pi của tôi được thiết lập để liên lạc UART nối tiếp tốc độ cao .

Bạn không đề cập đến phân phối nào bạn đang chạy, nhưng giả sử bạn đang chạy Debian, bạn có thể đặt tốc độ truyền bằng cách thực hiện như sau:

Lưu ý Raspberry Pi sử dụng UART cho Console Message (bao gồm cả tin nhắn khởi động) và getty để bạn có thể đăng nhập qua serial. Để sử dụng cổng nối tiếp này cho mục đích sử dụng của riêng bạn, bạn sẽ cần phải vô hiệu hóa các dịch vụ này.

Để thay đổi baudrate của bàn điều khiển, hãy chỉnh sửa /boot/cmdline.txt thay thế 115200 với tốc độ truyền mong muốn của bạn (lưu ý đây là tất cả một dòng).

dwc_otg.lpm_enable = 0 console = ttyAMA0,115200 kgdboc = ttyAMA0,115200 console = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 rootwait

sau đó chỉnh sửa / etc / inittab để thay đổi tốc độ baud của getty (bạn nên tìm một dòng như sau với tốc độ baud của 115200, thay đổi tốc độ baud mong muốn của bạn)

2: 23: hồi sinh: / sbin / getty -L ttyAMA0 115200 vt100

và, nhớ xem điện áp pin của bạn để tránh thiệt hại cho bạn Pi.

Tài liệu tham khảo bổ sung:

http://www.andremiller.net/content/raspberry-pi-and-arduino-via-gpio-uart


3

Chủ đề này có một giải pháp cho tốc độ truyền tùy ý (không chuẩn): /programming/12646324/how-to-set-a-custom-baud-rate-on-linux/21960353

Trước tiên, thực hiện các thao tác POSIX, sau đó thao tác này để đặt tốc độ tùy chỉnh, hoạt động tốt trên UART tích hợp của Raspberry Pi để có tốc độ truyền 250k. Vì vậy, cũng như tỷ lệ tiêu chuẩn POSIX, bạn có thể có khá nhiều hệ số nguyên là 16M, tối thiểu 1M ( http://fw.hardijzer.nl/?p=138 cho công cụ tốc độ rất cao)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.