#1 2019-03-27 14:54:54

Igor1954
Учасник
Зареєстрований: 2019-03-27
Повідомлень: 9

serial port ускорить

serial port ускорить

Надо отправить число dec -50000 по usb serial port.
Это число long int (4 байта).
Выставил скорость 115200.
Время передачи 1-го числа составило 268 микросекунд.

Проверил, сколько вмемени передается число int (2 байта).
Получил 212 микросекунд.
Чтобы уменьшить время передачи числа я готов перевести число в int (2 байта).
Для этого надо загрубить передаваемое число = поделить на число от  2 до 10,

Работать с числами в 2-й системе byte пока не хочу.

ВОПРОСЫ.

1. Как это сделать с мин потерями времени для чисел dec?
Просто умножить long int на 0.5 и запись числа как int не спасает - общее время умножения на 0.5 и передачи составляет 280 ?
Это ухудшениие времени передачи

2. Можно отбросить младший знак dec числа за какоето малое время?

Неактивний

#2 2019-03-27 21:13:21

theoristos
Учасник
Зареєстрований: 2018-08-02
Повідомлень: 26

Re: serial port ускорить

1. Порт ардуинки выдерживает 250000.
2. Самое быстрое деление на степень двойки - сдвигом, a >> n
3. Взять 2-3 старших байта ещё проще - объявить сложную структуру long int|массив байтов[4] и пользоваться то тем то тем.
4. А скока надо-то?

Неактивний

#3 2019-03-30 21:23:54

Kaka
Учасник
Зареєстрований: 2018-03-21
Повідомлень: 411

Re: serial port ускорить

Igor1954 пише:

1. Как это сделать с мин потерями времени для чисел dec?

Для начала разобраться с понятиями. Никаких "чисел dec" в языке С (и в С++ тоже) НЕТ В ПРИРОДЕ.

Неактивний

#4 2019-03-31 07:55:29

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: serial port ускорить

И вообще, жить надо по понятиям.)
Вы бы сформулировали что именно хотите передавать. Диапазон и т.п.

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму