Почему люди используют 115200 вместо 9600?

Итак, я наткнулся на множество программ Arduino, устанавливающих последовательную скорость на 115 200 вместо 9 600, в то время как многие люди просто продолжали использовать 9 600 для той же цели.

Почему люди решили использовать 115 200 или другую доступную скорость? Почему бы просто не использовать 9600?

, 👍-1

Обсуждение

Потому что они хотят общаться быстрее, или потому что другая конечная точка настроена на 115200, и они не хотят ее менять. Или они используют UART для MIDI со скоростью 31250 бод., @Peter Paul Kiefer

Потому что выбор. 115200 быстрее 9600., @Majenko

Я иногда использую 460800, потому что это замедляет скетч на скорости менее 115200 бод. и для связи с прошивкой esp8266 AT через аппаратный последовательный порт на Mega я использую 500 000 бод, чтобы читать данные из WiFi как можно быстрее, @Juraj

@Juraj Знаете ли вы, почему 460800 делает его менее медленным? может быть связано со значениями умножения?), @Michel Keijzers

@MichelKeijzers, буфер TX имеет длину 63 байта. если он заполняется, записывайте/печатайте блоки. поэтому скорость передачи «отображается» в скетче. если я хочу видеть отладочные сообщения, но проблема связана со временем, то иногда помогает более высокая скорость передачи данных, @Juraj

@Juraj А, ладно, подумал, что это какое-то «волшебное» число., @Michel Keijzers

Я не составлял полную таблицу максимальной скорости передачи данных для разных USB-чипов, но 921600 бод не работал, когда я пытался, @Juraj

@MichelKeijzers Точно, почему бы не использовать более высокую скорость, как предложил Джурай? Видите ли, вы только что опровергли свое предложение., @ShoutOutAndCalculate

@Juraj / ShoutOutAndCalculate ... Я понимаю, что чем выше, тем лучше, но просто интересно, откуда взялось значение., @Michel Keijzers

@MichelKeijzers Обычно вы не можете выбрать последовательную скорость в виде любого числа. Существуют «стандартные» скорости, такие как [9600 и 115200](https://en.wikipedia.org/wiki/Serial_port#Settings), которые получены из первых стандартных скоростей, таких как 75. Кстати, скорость имеет единицу измерения «шагов на секунда», а в случае последовательной передачи один шаг равен одному биту. Все эти стандартные скорости кратны 75, большинство из них кратно 2. Например: 9600 = 2^7 * 75, 115200 = 3 * 2^9 * 75., @the busybee

@busybee спасибо за объяснение., @Michel Keijzers


1 ответ


2

https://www.arduino.cc/en/Reference/softwareSerial Поскольку диапазон 115 200 также самая быстрая связь, обеспечиваемая серийным номером программного обеспечения.

,