Вот что возвращает: т.е. получается команды на чтения есть и однобайтовые если установить старший бит в 0x12, то получаем 0x92, хотя ни слова о старшем бите: Или у меня древняя версия?
Ну они и есть однобайтовые. Вы отправляете адрес регистра, содержимое которого хотите получить. Разумеется если речь идет о FIFO, то тут несколько иначе. Он 64-байтный, адрес у буфера один - 09h и в случае чтения из него после каждого запроса указатель внутри автоматически инкрементируется, так что при каждом новом запросе 09h вы читаете как бы 09h-1, 09h-2, 09h-3 и т.д. Количество этих и так далее (глубина заполненности буфера) содержится в следующем регистре - 0Аh, а точнее в его битах 6-0. Запись же единицы в его бит 7 очищает сам буфер, сбрасывает указатель на 0, ну и еще пару флагов обнуляет.
Что касается 0x12 | 0x80 = 0x92 ничего не могу сказать. В ДШ не говорится о том, что принятый байт для правильной интерпретации нужно преобразовывать. Может у вас какие-то настройки УСАРТа неправильные? Старт-стоп биты и прочее? Ну не знаю почему принимается так. Это вы из своей программы отправляете? Попробуйте из putty или чего-то в этом роде отправить.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
putty у меня что-то жутко тормозит в окне и не хочет посылать/принимать, но порт подключает - когда она работает другие проги к нему не подключаются Также пробовал все скорости, биты и четность: выдает либо 12, либо 0
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Для интереса попробуйте записать в таймер значение, а потом считать и сравнить с записанным. Т.е. отправьте 0x2C 0x55 0x2D 0xAA, а потом отправьте 0xAC 0xAD.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Может и так. Может эта особенность связана с тем, что комп какие-то управляющие команды дополнительно отправляет. Хотя если отправил запрос на чтение, то действительно нужно дождаться ответа прежде чем посылать следующий.
Вот и получается, что принимается то, что и отправляется, модифицировать не нужно. Почему тогда ответ на запрос версии не соответствует спецификации? Непонятно.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Нее, 100% отправляет только то, что посылаешь: однажды пришлось разбираться почему одно устройство периодически ерунду по UART шлет - обмен анализатором смотрел. Единственное, так комп может не сразу принятое отдавать (из-за буфера) Попробую у китайца спросить по поводу версии, но вряд ли он что-то скажет - скорей всего он обычный "купи-продай"...
А что можно еще считать с модуля, чтобы понять его работоспособность?
А что у вас на чипе написано? На сайте была картинка, но что-то у вас сейчас с сайтом происходит, ссылки не работают.
Согласно ДШ,
Цитата:
‘9’ stands for MFRC522, ‘1’ stands for MFRC522 version 1.0 and ‘2’ stands for MFRC522 version 2.0.
поэтому и должно быть 0x91 или 0x92. Может ваш какой-то другой, поэтому вместо "9" дает "1"? ТС не появляется, спросили бы у него, что его плата отвечает на запрос версии.
Добавлено after 5 minutes 45 seconds: Другие регистры смотрел, нет другого подобного VersionReg, который бы выдавал предсказуемый ответ. Да по-моему он и так доказал свою работоспособность, по крайней мере на запросы отвечает.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Vovka, можете как-нибудь прислать свою программу rs232 или выложить на файлообменник? Сайт на обновлении, а мне надо проверить работу модуля. Что-то с дисплеем у меня ни черта не вышло, решил пока общаться через rs232. Отправляю команды с терминала, в F103 они транслируются на SPI. Ответ идет по тому же маршруту. Что-то я получаю, но мне нужно отправлять хекс байты и получать их же без перевода в ASCII. Как это сделать стандартными программами (SecureCRT, Putty) - не знаю. Писать свое - долго будет, давно этим не занимался.
И, кстати, ответ на запрос версии вы получаете сразу без каких-либо предварительных инициализирующих команд?
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Если бы у вас было на SPI, сбросил бы свои функции, чтобы вы у себя испытали. Мне сейчас нужно добавить пару функций по работе с 64-байтным FIFO, только уточнить надо как правильно с ним общаться.
В конце ДШ (16 раздел) есть тестовая последовательность. Можете попробовать ее осуществить.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Пока никак, не продвинулся ни на шаг. На работе заниматься этим не получается, отрывают на основную работу )) Дома уже два дня не могу сосредоточиться.
Чем больше читаю ДШ, тем больше злюсь. Это ж надо было так накрутить, чтобы было настолько непонятно. Вот почему нигде нет описания работы MFRC522. Крутится в сети только одна библиотека на Ардуино, которую какой-то приближенный к NXP, очевидно, написал, и больше ничего нет. Взять, например, такое:
Цитата:
Mem <это команда такая> Transfers 25 bytes from the FIFO buffer to the internal buffer. To read out the 25 bytes from the internal buffer the Mem command must be started with an empty FIFO buffer. In this case, the 25 bytes are transferred from the internal buffer to the FIFO.
Уже который раз читаю выделенное курсивом, но никак не могу понять, кто кого очищает, чтобы быть очищенным: буфер FIFO или наоборот
Это из 10-го раздела, описание командного регистра (адрес 01h). Все основные операции производятся им, а точнее - его младшим ниблом. Отправляются команды им (прием-передача), но предварительно нужно отстроить другими регистрами эти самые приемник с передатчиком.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Да, он так и написал, что это с АВР взято. Но SPI только к отправке-приему отношение имеет. А так там самое важное - что отправлять, чтобы работало, достаточный минимум, так сказать. Вчера расписал немного "туда-сюда" функции через DMA, пока не знаю как это заработает. Надо будет сегодня постараться привязать все это к UART (наверное тоже через DMA), чтобы видеть происходящее. Надо еще почитать ДШ на этот чип.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения