Русский текст в монитор порта. Сбой кодировки.

Torx
Offline
Зарегистрирован: 15.01.2013

Имел глупость отредактировать скетч в Notepad++.
После копипаста в IDE получил нечитабельно отображаемый русский текст. Перебором кодировок читабельность вернул, но в монитор порта русские буквы нормально больше не выводятся.
Ковыряния с настройками IDE, снос preferences.txt ничего не дали.

Буду благодарен за подсказку, где я так глобально снёс кодировку и как это победить?

IDE 1.0.2 + WinXP + UNO

maksim
Offline
Зарегистрирован: 12.02.2012

А с чего вы взяли, что дуиновский сериал-монитор вообще поддерживает кириллицу?

Torx пишет:
...но в монитор порта русские буквы нормально больше не выводятся.
То есть у вас когда то получалось выводить в него русские символы?

Torx
Offline
Зарегистрирован: 15.01.2013

maksim пишет:

А с чего вы взяли, что дуиновский сериал-монитор вообще поддерживает кириллицу?
То есть у вас когда то получалось выводить в него русские символы?

Действительно...

Проверил тексты - всё по-аглицки. Видимо, думал по-русски. А после ноутпада воткнул в сериал.принт кусок русского комментария и заклинился :)

Прошу прощения за ложную тревогу.

usr-bin
Offline
Зарегистрирован: 04.09.2012

Я думаю, если идут кракозябры, значит дело в кодирвоке, а значит ее можно победить.  Надеюсь что можно. Когда-нибудь

П.С. у меня у самого кракозябры, пользуюсь транслитом.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Все просто. Редакор скетчей пользуется UTF, а терминал win1251, поэтому русские буквы приходят двумя байтами каждая.

Поэтому есть 2 варианта:

1. русские сообщения кодировать (например, '\250' или char(250)),

2. подключать внешний редактор, поддерживающий нужную кодировку.

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Putty поддерживает различные кодировки в Serial, в отличии от встроенного монитора.

sergiocharm
Offline
Зарегистрирован: 01.02.2016

Друзья выручайте!

Пытаюсь определить кнопки пульта через ик приемник

/*
 * IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv
 * An IR detector/demodulator must be connected to the input RECV_PIN.
 * Version 0.1 July, 2009
 * Copyright 2009 Ken Shirriff
 * http://arcfn.com
 */

#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  }
  delay(100);
}

И смотрю в монитор портов а там вместо кодов кнопок вылазят крокозябры.

Пока писал вопрос решил проблему))). Для тех кто в танке как и я. Скорость в коде прописана 9600 а в порте у меня 38 400 бод. Так вот надо тоже 9600 выбрать и тогда крокизябры исчезнут.

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

Torx пишет:

Имел глупость отредактировать скетч в Notepad++.
После копипаста в IDE получил нечитабельно отображаемый русский текст. Перебором кодировок читабельность вернул, но в монитор порта русские буквы нормально больше не выводятся.
Ковыряния с настройками IDE, снос preferences.txt ничего не дали.

Буду благодарен за подсказку, где я так глобально снёс кодировку и как это победить?

IDE 1.0.2 + WinXP + UNO

так и делаю, и проблем не было. вероятно у вас или шрифтов в виндовс не хватает нужных, или та же ИДЕ  не настроена.

genaonyx
genaonyx аватар
Offline
Зарегистрирован: 13.10.2016

http://arduino.on.kg/serialMonitor

Могу посоветовать вам альтернативный монитор порта. Который понимает и русский, и украинский и другие языки. 

Если вы отредактировали скетч в Notepad++ и хотите чтобы у вас небыло кракозябр в Arduino IDE, в том же Notepad++ выберите кодировку файла UTF8 (без BOM).

 

Алексей Н
Offline
Зарегистрирован: 02.01.2016

А еще вот можно функцию добавить:

http://blog.iarduino.ru/page/kak-otpravlyat-russkiy-tekst-v-serial-port/

BEE-KEE-PER
Offline
Зарегистрирован: 25.12.2016

Подскажите у меня все работало ардуина писало в порт на делфи все читалось потом раз и упало все теперь абракодабра стала???

И скорость одинаковая и как только не менял ее!

 

по китайски пишет

 

еше SDK что там настраивал что повлиять могло???

genaonyx
genaonyx аватар
Offline
Зарегистрирован: 13.10.2016

Скорее всего ткнули на кнопку "Исправить кодировку" в одном из меню Arduino IDE. В этом случае лучше переписать все руские текста заново. или поиграться с конвертером кодировок в Notepad++

Речь идет о самом файле скетча.

BEE-KEE-PER
Offline
Зарегистрирован: 25.12.2016

нет ничего не нажимал точно и англиские приходят с абройкодаброй!

Я уже несколько дней подряд мучаюсь и нечего не работает!

Может ардуина сломатся и перестать коректно работать?????

genaonyx
genaonyx аватар
Offline
Зарегистрирован: 13.10.2016

Ну, если Ардуинка прошивается и порты работают, то чувствует она себя замечательно.

Попробуйте другие мониторы порта, штатный из Arduino IDE или например мой. http://arduino.on.kg/serialMonitor

Написан на Delphi. Правда, на более свежей версии.

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

BEE-KEE-PER
Offline
Зарегистрирован: 25.12.2016

Да ВЫ правы, ардуинка чувствует себя отлично и ВАШУ программу скачавал она тож прекрасно работает!

Дело вот в чем купис севодня мегу.ардуину и на ней такие же глюки когда компилирул RAD Studio глуки происходят, компилирую на делфи7 фсе сцукко отлично работает????

 

RAD студия тож нормально работала перестала рвботать походу после того как я SDK установил внее???

Что вот может быть???????

Да и не могли ВЫ дать исходник ВАШЕЙ проги serialMonitor????

Я в делфи использую TBComPort для работы с портом!!!

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

BEE-KEE-PER пишет:

Дело вот в чем купис севодня мегу.ардуину и на ней такие же глюки когда компилирул RAD Studio глуки происходят, компилирую на делфи7 фсе сцукко отлично работает????

Дело в том, что делфи7 использует AnsiString и AnsiChar, а RAD studio Unicode по умолчанию

в RAD studio указывайте явний тип AnsiString и AnsiChar для работы с COM портом.  

BEE-KEE-PER
Offline
Зарегистрирован: 25.12.2016

Огромное спасибо за совет!

 

Вот только дело в том что TBComPort матюгается на AnsiString...........

BEE-KEE-PER
Offline
Зарегистрирован: 25.12.2016

СПАСИБО ЕЩЕ РАЗ ПРЕШЛОСЬ ПЕРЕДЕЛАТЬ TBComPort ТЕПЕРЬ ФСЕ РАБОТАЕТ И В RAD Studi.

СПАСИБО ВЫ ОКАЗАЛИ НЕОЦЕНИМУЮ ПОМОЩЬ МНЕ! Я ТАК ТО ЕЩЕ ДОЛГО РАЗБИРАЛСЯ ЧТО К ЦЕМУ!!!

BEE-KEE-PER
Offline
Зарегистрирован: 25.12.2016

Как с ВАМИ связатся ???

genaonyx
genaonyx аватар
Offline
Зарегистрирован: 13.10.2016

BEE-KEE-PER пишет:

Как с ВАМИ связатся ???

С кем именно?

 

Кстати начал писать статью для своего сайта по обмену данными между ардуино и программой написанной на Delphi по COM-порту.

BEE-KEE-PER
Offline
Зарегистрирован: 25.12.2016

xDriver с ним хотел связаться с сом портом Я разобрался проблем не есть вопрос по RAD Studio ???

Можно поговорить хоть с кем кто знает рад студию.............

genaonyx
genaonyx аватар
Offline
Зарегистрирован: 13.10.2016

ну так пиши в чем проблема то

BEE-KEE-PER
Offline
Зарегистрирован: 25.12.2016

Тут тема не совсем же про это, вообщем где можно найти инфы нормальной как на мобильники программы писать, а то когда делаеш multi device application там нет canvas нет у speedbutton glypth и прочего немогу толком не где найти нормальную инфу

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

мобильное приложение в RAD Studio написанно всего лишь одно ! и то постейшее.

боюсь и тут вам вряд ли помогу, но тем немение _xDriver_@mail.ru

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

xDriver пишет:

тем немение

шта?

Pablos
Pablos аватар
Offline
Зарегистрирован: 18.07.2017

А вот я не знал, что дуиновский сериал-монитор не поддерживает кириллицу и работало как-то ))))
Пересел на другой комп - работать перестало. Если и не должно было, то как же оно там было?!
Винда и там, и там 7-я ...   бред какой-то.  Выходит там редактор кода был переключен на 1251. В пн заберу обратно тот ноут и еще раз гляну.

 

Pablos
Pablos аватар
Offline
Зарегистрирован: 18.07.2017

Проверил...  Работает монитор с русскими буквами... но!
Скетч должен создаваться не кнопкой Ctrl+N и не из скетча-примера, а как текстовый файл в винде.

Потом меняете расширение с txt на ino и ... вуаля...  все работает по-русски...

Русский язык в мониторе

Pablos
Pablos аватар
Offline
Зарегистрирован: 18.07.2017

Torx пишет:

maksim пишет:

А с чего вы взяли, что дуиновский сериал-монитор вообще поддерживает кириллицу?
То есть у вас когда то получалось выводить в него русские символы?

Действительно...

Проверил тексты - всё по-аглицки. Видимо, думал по-русски. А после ноутпада воткнул в сериал.принт кусок русского комментария и заклинился :)

Прошу прощения за ложную тревогу.

 

Тревога была не ложной... все работает по-русски... ;)

123654789
Offline
Зарегистрирован: 09.09.2017

Помогите решить такую проблему

 

123654789
Offline
Зарегистрирован: 09.09.2017

ааа

не то сделал, фоточка почему то не копируется

там вместо кракозябр стоят вопросы, как решить эту проблему?

 

Logik
Offline
Зарегистрирован: 05.08.2014

123654789 пишет:

ааа

не то сделал, фоточка почему то не копируется

там вместо кракозябр стоят вопросы, как решить эту проблему?

 

Прочитать тему, хотябы пост перед своим.

ПС. Раскажи как можна быть таким олегофреном? легко и приятно небойсь... Зачем лезть с тупейшим вопросом не прочитав нихрена из ранее написаного? Будем считать что это сделано спецом для демонстрации отрицательного IQ,  чтоб все знали  ТС и стороной обходили .

Andrey1666
Offline
Зарегистрирован: 04.06.2018

Здраствуйте!

Я совсем новечок, получил недавно ардуино нано и сразу решил затестить, и тут же пошли проблемы, первый тест с миганием светодиода прошел успешно, а вот с выводом монитора порта ни как, все облазил, ни где такого не было, везде стоит 9600, а монитор порта не работает, выходят кракозябры, решил поиграться со скоростью и о чудо на 2400, порт заработал как надо, почему так? Кто знает?

b707
Offline
Зарегистрирован: 26.05.2017

Andrey1666 - "совсем новичок" - это не оправдание. Нафига вы эту слепошарую картинку запостили? Словами обьяснять не умеете? Скетч текстом не судьба была вставить? И вывод сериала тоже?

Brat4791
Brat4791 аватар
Offline
Зарегистрирован: 13.02.2021

народ плиз помогите в чем трабла с терминалом кракозябры  и все тут 

ни один скейч связанный с терминалом не работает

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Поправьте скорость порта.

Brat4791
Brat4791 аватар
Offline
Зарегистрирован: 13.02.2021

andriano пишет:

Поправьте скорость порта.

Правил, не помогло.

тестовые скейчи не помогли так же. переустанвливал ПО ардуино так не помогло

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Попытался ответить, процитировав сообщение №33, и обнаружил, что там, оказывается, вставлена картинка.

Судя по картинке, Вы пытаетесь тупо в лоб использовать кириллицу, не учитывая, что монитор порта и Arduino IDE используют различные кодовые страницы.

Brat4791
Brat4791 аватар
Offline
Зарегистрирован: 13.02.2021

andriano пишет:

Попытался ответить, процитировав сообщение №33, и обнаружил, что там, оказывается, вставлена картинка.

Судя по картинке, Вы пытаетесь тупо в лоб использовать кириллицу, не учитывая, что монитор порта и Arduino IDE используют различные кодовые страницы.

записывал скейч чтоб считать датчики

  в этом коде нет кирилицы


#include <OneWire.h>
#include <DS18B20_INT.h>

#define ONE_WIRE_BUS 2

OneWire     oneWire(ONE_WIRE_BUS);
DS18B20_INT sensor(&oneWire);

DeviceAddress da;

void setup()
{
  Serial.begin(9600);
  Serial.println(__FILE__);
  Serial.print("DS18B20_INT_LIB_VERSION: ");
  Serial.println(DS18B20_INT_LIB_VERSION);

  Serial.print("\ngetAddress: ");
  Serial.println(sensor.getAddress(da));
  
  sensor.begin();

  Serial.print("\ngetAddress: ");
  Serial.println(sensor.getAddress(da));

  if (!sensor.getAddress(da))
  {
    Serial.println("No address found!");
    return;
  }

  Serial.print("Address: ");
  for (uint8_t i = 0; i < 8; i++)
  {
    if (da[i] < 0x10) Serial.print('0');
    Serial.print(da[i], HEX);
  }
  Serial.println();
}


void loop()
{

}


// -- END OF FILE --

но терминал кракозябрит 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

если скорости приема/передачи совпадают, то "вывсёврёти!!!"

Brat4791
Brat4791 аватар
Offline
Зарегистрирован: 13.02.2021

DetSimen пишет:

если скорости приема/передачи совпадают, то "вывсёврёти!!!"

мне заняться больше не чем 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Brat4791, если у Вас глючит вывод в терминал, при чем тут датчик?

Выбросьте из кода все, что касается датчика, чтобы локализовать проблему.

Ну и приводите все вместе: и код и соответствующий ему вывод. А то как догадываться, что именно Вы подразумеваете под словом "кракозябры".

b707
Offline
Зарегистрирован: 26.05.2017

Brat4791 пишет:

мне заняться больше не чем 

ардуина какая? Что написано на чипе?

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

А кварц то какой ?

Brat4791
Brat4791 аватар
Offline
Зарегистрирован: 13.02.2021

b707 пишет:

Brat4791 пишет:

мне заняться больше не чем 

ардуина какая? Что написано на чипе?

ардуино нано 328я ,мега2560 через СН340й  и на обеих мониторит кракозябры

b707
Offline
Зарегистрирован: 26.05.2017

Brat4791 пишет:

ардуино нано 328я ,мега2560 через СН340й  и на обеих мониторит кракозябры

выложите код и результат его работы - скрин монитора порта с кракозябрами

Brat4791
Brat4791 аватар
Offline
Зарегистрирован: 13.02.2021

andriano пишет:

Brat4791, если у Вас глючит вывод в терминал, при чем тут датчик?

Выбросьте из кода все, что касается датчика, чтобы локализовать проблему.

Ну и приводите все вместе: и код и соответствующий ему вывод. А то как догадываться, что именно Вы подразумеваете под словом "кракозябры".

вместо нужной информации адреса по датчикам  порт выдает ----- 18:06:41.902 -> ⸮xxx⸮x⸮x⸮x⸮

b707
Offline
Зарегистрирован: 26.05.2017

Brat4791 пишет:

вместо нужной информации адреса по датчикам  порт выдает ----- 18:06:41.902 -> ⸮xxx⸮x⸮x⸮x⸮

а вот эта строка хотя бы печатает слово Address?

Serial.print("Address: ");

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

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

Сократите свой пример и выложите здесь его скетч и то, что он выводит в монитор порта.

Ошибку надо искать, отсекая все лишнее. В данном случае лишнее - это работа с датчиком.

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

Brat4791 пишет:

ни один скейч связанный с терминалом не работает

Вот и приведите хотя бы один скетч, в котором кромке работы с терминалом больше ничего нет.

Brat4791
Brat4791 аватар
Offline
Зарегистрирован: 13.02.2021

andriano]</p> <p>Не нужно про датчик. Если у Вас проблемы с монитором порта, то и приводите код, в котором нет ничего кроме работы с монитором порта. </p> <p>Сократите свой пример и выложите здесь его скетч и то, что он выводит в монитор порта.</p> <p>Ошибку надо искать, отсекая все лишнее. В данном случае лишнее - это работа с датчиком.</p> <p>Если же окажется, что сконструировать пример, демонстрирующий ошибку, без датчика не получится, то велика вероятность, что Ваш предварительный диагноз не подтвердился, и проблема на самом деле не с монитором, а с датчиком.</p> <p>[quote=Brat4791 пишет:

ни один скейч связанный с терминалом не работает

так же заливал скейч с примеров чисто для монитора порта

все так же остается кракозябры

char i[]="\110\145\154\154\157"; // Определяем строку из 5 кодов символов "Hello". Символ конца строки добавляется автоматически.
void setup(){                    //
     Serial.begin(9600);         // Инициируем работу шины UART на скорости 9600 бит/сек.
     Serial.println(i);          // Отправляем строку в монитор последовательного порта.
}                                //
void loop(){                     //
}                                //

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Brat4791 пишет:

ни один скейч

Брат! ;)) Открой, плз, гугль переводчик , набери там слово sketch и нажми на динамик, штоп послушать, млеать!

https://translate.google.com/?sl=en&tl=ru&text=sketch&op=translate

НЕТ ТАКОГО СЛОВА "скейч"!!!! Задолбало! Сил нет.

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

покажите что выведет - Serial.println("Hello world");