Перейти к содержанию
    

Как передать дробное число по UART stm32F3

Передаю десятичные а дробные (типа 2,33) не знаю как.

char str1[30]={0};

sprintf(str1,"%6d %6d %6d\r\n", 1, 2, 3);
HAL_UART_Transmit(&huart2, (uint8_t*)str1, strlen(str1), 0x1000);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что говорит справка по sprintf? Или нужно использовать расширенную версию библиотеки.

Изменено пользователем MasterElectric

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

41 минуту назад, Olegus сказал:

Передаю десятичные а дробные (типа 2,33) не знаю как.

float или double форматируется %f - в десятичной форме, %e - в экспоненциальной

В справке по printf есть все подробности, но реализация всех возможностей зависит от используемой вами библиотеки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

1 hour ago, Olegus said:

Передаю десятичные а дробные (типа 2,33) не знаю как.

Вы все правильно сделали - разместили свою тему в разделе ARM! Браво!

Но, чтобы вам действительно помочь, нужна полная схема устройства, со всеми номиналами и разводкой платы!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, HardEgor сказал:

float или double форматируется %f - в десятичной форме, %e - в экспоненциальной

В справке по printf есть все подробности, но реализация всех возможностей зависит от используемой вами библиотеки.

Мне нужно это передать по UART в этом вся как я вижу загвоздка. Символы, десятичные числа передаю, а дробь нет, т.к. передача по 8 бит идет. Тут какая-то библиотека и что нужно (в обычной Ардуинке это одной функцией передается без проблем в Serial).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 minutes ago, Olegus said:

в обычной Ардуинке это одной функцией передается без проблем в Serial.

 

1p24oo.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 минут назад, Olegus сказал:

Мне нужно это передать по UART в этом вся как я вижу загвоздка. Символы, десятичные числа передаю, а дробь нет, т.к. передача по 8 бит идет. Тут какая-то библиотека и что нужно (в обычной Ардуинке это одной функцией передается без проблем в Serial).

Вам надо просто использовать нужный формат, например:

sprintf(str1,"%f \r\n", 123.567);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Модераторам (если меня кто-нибудь слышит/видит)

Предлагаю подобные темы, размещенные в неподходящем разделе (а раздел ARM, на мой взгляд, для пользователей далеко не уровня начинающего), с невнятно (и наплевательски по отношению к аудитории) описанной проблемой, неумолимо и безоговорочно сносить без следов, так как они:

1. Не содержат конструктивных диалогов и весомо-информативных обсуждений проблем.

2. Отвлекают внимание рядовых пользователей.

3. Засоряют поиск Форума, гугла и других поисковых систем (лично мне, изредка, но бывает, приходится возвращаться к обмусоленным темам память освежить по тому или иному вопросу).

Прямо как на киберфоруме.

В спорных ситуациях темы переносить в соответствующий раздел (как это иногда делается сейчас).

 

Новым пользователям

Темы, так или иначе, косвенно или непосредственно затрагивающие HAL/Cube от ST, также хотелось бы видеть только в разделе "Для начинающих".

 

Потому как, ИМХО, настолько детализированная проблематика в вопросе

2 часа назад, Olegus сказал:

Передаю десятичные а дробные (типа 2,33) не знаю как

является ничем иным, как банальной отмазкой и нежеланием гуглить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, Arlleex сказал:

Модераторам (если меня кто-нибудь слышит/видит)

Предлагаю подобные темы, размещенные в неподходящем разделе (а раздел ARM, на мой взгляд, для пользователей далеко не уровня начинающего),

Тут даже до "начинающего" ещё топать и топать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...