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

Кодировка в cubeide


cargo29

Рекомендуемые сообщения

Приветствую, решил взяться за stm32. stm32f103c8T6 дисплейчик st7789 нашел библиотечку простую, но русские буквы каракули, в общем в cubeide выставил сразу кодировку CP1251, но почему то не меняется кодировка в самом файле, проверял notepad++ так и остается utf8 может кто знает как сменить кодировку? или это косяк самой программы? 

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

@hasl Уже пробовал сделать следующее, скопировал содержимое, удалил файл main, создал с помощью notepad файл main с кодировкой уже нужной и перенес все данные в него. Но тут же при открытии в cubeide он опять меняет его на utf8

123.jpg

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

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

@hasl Да помогло с кодировкой, спасибо. Но почему то так и  не выводит русские буквы. Если не сложно посмотрите 

ST7789_print_5x8 в UTF8 выводит русские 

ST7789_print_7x11 в UTF8 англ выводит, а русские каракули. ST7789_DrawChar_7x11по отдельности символ выводит правильно.

В СР1251 выводят только англ.

font5x7.h font7x11.h st7789.c st7789.h

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

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Вы не сможете выводить напрямую из строки типа "Привет", если файл UTF придется делать массив со стркой типа {0x65, 0х63} и ее отправлять
Либо изначально создавайте проект в ASCII cyr
Ну не любят буржуи наши закорючки

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

Понимаю это, но не понимаю в чем отличие функций, что одна выводит а другая нет.

void ST7789_print_5x8(uint16_t x, uint16_t y, uint16_t TextColor, uint16_t BgColor, uint8_t TransparentBg, char *str)
{
  unsigned char type = *str;
  if (type>=128) x = x - 3;
  while (*str)
	{		
		ST7789_DrawChar_5x8(x, y, TextColor, BgColor, TransparentBg, *str++);
    unsigned char type = *str;
    if (type>=128) x=x+3;
    else x=x+6;
  }
}

void ST7789_print_7x11(uint16_t x, uint16_t y, uint16_t TextColor, uint16_t BgColor, uint8_t TransparentBg, char *str)
{
  unsigned char type = *str;
  if (type>=128) x = x - 3;
  while (*str)
	{		
		ST7789_DrawChar_7x11(x, y, TextColor, BgColor, TransparentBg, *str++);
    unsigned char type = *str;
    if (type>=128) x=x+8;
    else x=x+8;
  }
}

 

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

@hasl Подскажи нюанс не знаю.  char testbuf[6]={'п','р','и','в','е','т'}; UTF-8 

Буквы Р и Т не отображаются корректно, Р как обычный пробел, Т как У с галочкой сверху. 

В CP1251 вообще не выводит почему то даже каракули на русском.

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

Если сделать проверочный то выводит все корректно.

for(int i=144; i<208; i++){
	ST7789_DrawChar_7x11(10, 10, YELLOW, BLUE, 0, i);
	ST7789_DrawChar_5x8(50, 10, YELLOW, BLUE, 0, i);
	HAL_Delay(500);

 

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

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

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

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

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

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

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