запись данных на карту RFID считывателя

sava
Offline
Зарегистрирован: 07.07.2016

приобрел RC522 пытаюсь записать данные на брелок , я так понял данные записываются в шестнадцетиричной системе , мне нужно записать на эту карту ни важно в какой системе одно слово и одну цифру так что бы при  считывании карты данные выводились на ком порт  виде, как это можно сделать?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Данные туда записываются обычными байтами, байт - он и в Африке байт. Как вы будете эти данные выводить для отображения - другой вопрос: можно в виде строки, которая содержит двоичное или шестнадцатеричное представление числа, можно - бинарным потоком, просто байты в порт швырять.

sava
Offline
Зарегистрирован: 07.07.2016

А как байты перевести в буквы?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

sava пишет:

А как байты перевести в буквы?

Буквы - это тоже байты. Если мы о формате хранения данных говорим. Вы чего хотите? Если байт имеет значение 0xD0 - то вывести вам строку в монитор порта "0xD0"? Смотрите справку к Serial.print, например.

sava
Offline
Зарегистрирован: 07.07.2016

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

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Никак. Во всяком случае, я не знаю, т.к. у меня все скетчи сохраняются в кодировке UTF-8, а монитор порта с ней не дружит. Можно попробовать поменять настройки substitute_unicode, выставив ей true - тогда скетч будет сохраняться в кодировке текущей локали. Повлияет ли это на вывод в монитор порта - хз, такой проблемы передо мной ни разу не стояло - русскими буквами в порт сыпать. СМС на русском отправлять - да, была. На дисплее русские вывести - тоже плавали. А вот в монитор порта - зачем оно вам? Чисто для эстетического удовольствия?

sava
Offline
Зарегистрирован: 07.07.2016

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

sava
Offline
Зарегистрирован: 07.07.2016

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

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

sava пишет:

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

Кодировка файла скетча - вот ответ. Смотрите, в какой сохранён из примеров, в какой - сохраняется, когда вы что-то делаете.

sava
Offline
Зарегистрирован: 07.07.2016

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

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

теперь открой файл настроек IDE и замени там значение substutute_unicode на false: http://arduino.ru/forum/apparatnye-voprosy/tft-35-i-arduino?page=11#comment-131410

sava
Offline
Зарегистрирован: 07.07.2016

это не помогает, я так понял IDE  в любом случае сохраняет в UTF8

 

sava
Offline
Зарегистрирован: 07.07.2016

перепробовал все варианты, изменял substutute_unicode на false потом переводил в Notepad++  в ANCI заливал на плату все работает (пишет по русски только так) стоит внести изменения и залить заново лезут каракули))

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

А  substutute_unicode на true менять не пробовали? Я щас уже не помню логику этой настройки, если честно. И да - менять файл настроек надо, когда IDE закрыта.

Presst
Offline
Зарегистрирован: 27.02.2017

Одним новичком больше