реклама на сайте
подробности

 
 
> RFID-RC522 под STM32L476
serglg
сообщение Jul 19 2016, 06:56
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 146
Регистрация: 19-07-16
Пользователь №: 92 603



Использовал доработанную библиотеку от
" http://stm32f4-discovery.net/2014/07/libra...32f4xx-devices/ "
Перед этим через STM32CubeL4 создал проект для SPI1 (под Кейл).
Соответственно в скачанной библиотеке поправил вызовы функций передачи и приема байтов по SPI через HAL-драйверы.
В результате с RC522 нормально читаю все регистры. Их содержимое соответствует тому, что должно быть после сброса по умолчанию.
Потом провожу инициализацию и вижу правильное их изменение .
Антенна включается и поле видно даже петлей.
После этого проводится непрерывный запрос карты командой 0х26 (функция из библиотеки TM_MFRC522_Check(CardID)).
В поле виден байт запроса и потом байт остановки (функция TM_MFRC522_Halt())

Независимо от присутствия/отсутствия карты ничего не происходит (всегда status = MI_ERR).
Осциллографом из ответов ничего не обнаруживается ни в поле, ни на ножках RC522.

Была попытка продублировать ответы карты внутри RC522 на ножку MFOUT (установкой регистра TxSelReg/0х16 байтом 0х17), но на этой ножке всегда 3-е состояние почему-то.
Всё это проверено на 2 считывателях, 3 картах и 2 брелках (из комплекта).

Таким образом нахожусь в недоумении.
Я что-то не включаю? Хотя по той библиотеке я делаю тот же Init.
Могут ли быть два считывателя подряд неисправными?
MFRC522 подключен к SPI1 STM32L476
PE15 - MOSI
PE14 - MISO
PE13 - SCK
PE12 - SS
PE10 - RST

При включение сначала сигнал RST выставляется в "1".
Потом инициализация:
Код
void TM_MFRC522_Init(void)
   {
      
   TM_MFRC522_Reset();
   TM_MFRC522_WriteRegister(MFRC522_REG_T_MODE, 0x8D);
   TM_MFRC522_WriteRegister(MFRC522_REG_T_PRESCALER, 0x3E);
   TM_MFRC522_WriteRegister(MFRC522_REG_T_RELOAD_L, 30);          
   TM_MFRC522_WriteRegister(MFRC522_REG_T_RELOAD_H, 0);
   TM_MFRC522_WriteRegister(MFRC522_REG_TX_SELL, 0x15);
  
   TM_MFRC522_WriteRegister(MFRC522_REG_TX_AUTO, 0x40);
   TM_MFRC522_WriteRegister(MFRC522_REG_MODE, 0x3D);

      
    TM_MFRC522_AntennaOn();      //Open the antenna
      
   }

Привожу содержимое регистров

Далее показаны первые 31 регистр перед запросом и после запроса
(PICC_REQIDL=0х0С)
CODE
Рег. - Иниц. - Запрос+Стоп

0x01 - 0x20 - 0x0C
0x02 - 0x80 - 0xF7
0x03 - 0x00 - 0x00
0x04 - 0x14 - 0x44
0x05 - 0x00 - 0x04
0x06 - 0x00 - 0x00
0x07 - 0x29 - 0x39
0x08 - 0x00 - 0x05
0x09 - 0x26 - 0x00
0x0A - 0x00 - 0x00
0x0B - 0x08 - 0x08
0x0C - 0x10 - 0x10
0x0D - 0x00 - 0x04
0x0E - 0xA0 - 0xA0
0x0F - 0x00 <-
0x10 - 0x00 <-
0x11 - 0x3D <-
0x12 - 0x00 <-
0x13 - 0x00 <-
0x14 - 0x83 <-
0x15 - 0x40 <-
0x16 - 0x15 <-
0x17 - 0x84 <-
0x18 - 0x84 <-
0x19 - 0x4D <-
0x1A - 0x00 <-
0x1B - 0x00 <-
0x1C - 0x62 <-
0x1D - 0x00 <-
0x1E - 0x00 <-
0x1F - 0xEB <-


Сообщение отредактировал IgorKossak - Jul 19 2016, 07:24
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
yanvasiij
сообщение Jul 20 2016, 10:14
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041



Довелось мне запускать этот китайский считыватель, попил он мне тогда крови но запустился. Он время от времени наглухо зависает, лечит периодическим передергиванием ресета. Вот исходники из проекта. Кстати да, дрйвер взят по той ссылке, что привел ТС. В программе я считывал метки 5-ю считывателями и если они совпадали с запрограммированными занчениями открывался замок. Код рабочий, может поможет.
Прикрепленные файлы
Прикрепленный файл  app.rar ( 14.6 килобайт ) Кол-во скачиваний: 17
 
Go to the top of the page
 
+Quote Post
adnega
сообщение Jul 20 2016, 10:18
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(yanvasiij @ Jul 20 2016, 13:14) *
Он время от времени наглухо зависает

Не замечал такого. DS утверждает, что ревизия 2 стабильнее 1.
Кста, на моей китайской плате ID чипа равен 0x90, а такого быть не должно.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- serglg   RFID-RC522 под STM32L476   Jul 19 2016, 06:56
- - adnega   Цитата(serglg @ Jul 19 2016, 09:56) Была ...   Jul 19 2016, 08:30
- - yanvasiij   Может и от ревизии зависит, но у меня зависал наме...   Jul 20 2016, 10:23
|- - adnega   Цитата(yanvasiij @ Jul 20 2016, 13:23) Мо...   Jul 20 2016, 10:32
- - serglg   Я очень хочу надеяться, что у меня эта плата (две ...   Jul 20 2016, 14:27
- - serglg   Ну вот проверил данный экземпляр считывателя с Ард...   Jul 25 2016, 07:22
|- - adnega   Цитата(serglg @ Jul 25 2016, 10:22) В раб...   Jul 25 2016, 20:10
- - serglg   весьма полезно, спасибо. Вот только не пойму почем...   Jul 26 2016, 04:51
|- - adnega   Цитата(serglg @ Jul 26 2016, 07:51) весьм...   Jul 26 2016, 11:56
- - serglg   В основном цикле у меня вызывается: STAT = TM_MFRC...   Jul 26 2016, 13:46
|- - adnega   Цитата(serglg @ Jul 26 2016, 16:46) TM_MF...   Jul 26 2016, 13:59
|- - serglg   Цитата(adnega @ Jul 26 2016, 19:59) Снача...   Jul 26 2016, 15:29
|- - adnega   Цитата(serglg @ Jul 26 2016, 18:29) Но ка...   Jul 26 2016, 18:21
- - serglg   а засада-то всё же здесь. Внезапно содержимое MFRC...   Jul 27 2016, 05:55
- - serglg   Всё решено. Подлое поведение HAL-драйверов из-под ...   Jul 29 2016, 08:32


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 09:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01364 секунд с 7
ELECTRONIX ©2004-2016