передать определённое количество символов переменной по RS-232
- Войдите на сайт для отправки комментариев
Господа опытные программисты, помогите старому радиолюбителю
Есть переменная, определённая через float, потом в неё занёс с аналогового входа данные, произвёл арифметические действия, высветил на экране LCD. Хочу ещё передать через серийный порт. Но определённое количество символов. Точно такое, как ан экране LCD, т.е. 5ть, а не много.
Дело в том, что на экрате я пишу это число в правом нижнем углу и ненужные мне символы затираются. И точка у числа плавает как мне надо. Это число меняется в пределах от -50.0 до 10.0 ( это децибелы померянные AD8307 ) , и на экране высвечивается такие значения например : -15.4 , -8.23 , 0.123 Формат очень приемлевый для меня и я бы хотел передать в последовательности символов на COM1 компа их именно в таком виде. Мне плавающая точность подходит.
Вот только не знаю как ограничить число передаваемых символов. Если Serial.print (переменная), то передаётся 14 символов ( например -15ю12345678 ), а хочется только 5ть. Подскажите/намекните как это проще сделать пожалуйста.
почитай за функцию dtostrf(..)
если у тебя есть какая-то float переменная, то обрезать её до 5 символов и передать можно так
выведется число длиной 5 знаков с 1 знаком после запятой. Тока помни, шо в длину 5 знаков входют и минусы и прочие всякие десятичные точки, т.е выведется "-15.1" <- 5 символов
либо скопировать первые 5 символов из одной строки во временный буфер, и передать его.
Спасибо, сейчас попробую.
Да, мне так и надо, чтоб минус был одним из передаваемых знаков. Или ничего
Спасибо за подсказку DetSimen. То что дохтур прописал!!!!