Почему люди используют 115200 вместо 9600?
Итак, я наткнулся на множество программ Arduino, устанавливающих последовательную скорость на 115 200 вместо 9 600, в то время как многие люди просто продолжали использовать 9 600 для той же цели.
Почему люди решили использовать 115 200 или другую доступную скорость? Почему бы просто не использовать 9600?
1 ответ
▲ 2
https://www.arduino.cc/en/Reference/softwareSerial Поскольку диапазон 115 200 также самая быстрая связь, обеспечиваемая серийным номером программного обеспечения.
,
@ShoutOutAndCalculate
Смотрите также:
- Отправка последовательных данных в прерывании
- Ошибка 'Serial' was not declared in this scope
- Как получить ненулевой выход из HX711 и ячейки загрузки?
- Serial.availableForWrite против Serial.flush
- Разделенный последовательный поток Arduino, разделенный запятыми
- Как остановить серводвигатель в текущем положении при использовании последовательного порта? Я хочу, чтобы он оставался в одном положении при получении «0».
- Arduino Serial.ReadString() проблема
- Метод перебора битов в байте, отправленном по последовательному каналу.
Потому что они хотят общаться быстрее, или потому что другая конечная точка настроена на 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