какой спецификатор форматирования применить

    • #78342
      Николай
      Ключник

      RR2021

      20 июл 2023, 13:14
      вообщем нужно шестнадцатиричный код преобразовать в текст условно получить из 0x0F два символа 0x30 0x46 т.е. ‘0’ ‘F’
      uint8_t crc3 ,
      uint8_t buf[132]={0},
      //№1
      crc3 = 0xF0,
      sprintf ( (char *) buf ,%2X,, crc3 ),
      uart_write( 5, buf, 4),
      //№2
      crc3 = 0x00,
      sprintf ( (char *) buf ,%2X,, crc3 ),
      uart_write( 5, buf,4),
      //№3
      crc3 = 0x0F,
      sprintf ( (char *) buf ,%2X,, crc3 ),
      uart_write( 5, buf, 4),
      //№4
      crc3 = 0xFF,
      sprintf ( (char *) buf ,%2X,, crc3 ),
      uart_write( 5, buf, 4),
      в №1 всё получается как надо 0x46 0x30 0x2C (запятая )
      в №2 получается 0x20 0x30 0x2C (запятая ), а хотелось бы чтобы получалось 0x30 0x30 0x2C
      в №3 получается 0x20 0x46 0x2C (запятая ), а хотелось бы чтобы получалось 0x30 0x46 0x2C
      в №4 всё получается как надо 0x46 0x46 0x2C (запятая )
      вообщем что применить вместо %2X

      cheblin

      20 июл 2023, 15:10
      лучше скажи что делаешь в целом.
      напоминает очередной, 338-ой текстовый протокол.
      если это так, то совет. пересылай прям как есть, в бинарном виде. UART с этим справится на отличненько.

      rjur

      20 июл 2023, 15:36
      RR2021 писал(а):
      вообщем что применить вместо %2X

      %02X,

      RR2021

      20 июл 2023, 15:46
      cheblin писал(а):
      лучше скажи что делаешь в целом.
      напоминает очередной, 338-ой текстовый протокол.
      если это так, то совет. пересылай прям как есть, в бинарном виде. UART с этим справится на отличненько.

      считаю контрольную сумму в uint8_t и надо передать его как два ASCII символа т.е. каждый полубайт символом например 0x0F два символа 0x30 0x46 т.е. ‘0’ ‘F’
      зы совет rjur помог

      Последний раз редактировалось RR2021 20 июл 2023, 15:48, всего редактировалось 1 раз.

      RR2021

      20 июл 2023, 15:47
      rjur писал(а):
      RR2021 писал(а):
      вообщем что применить вместо %2X

      %02X,

      спасибо! то что нужно

Viewing 0 reply threads
  • Вы должны войти в систему, чтобы ответить в этой теме.
Интepecнoe нa фopумe:
Авторизация
*
*
Регистрация
*
*
*
Генерация пароля
×