Вт фев 20, 2018 12:17:25
Ср фев 21, 2018 07:08:25
Ср фев 21, 2018 10:16:13
Ср фев 21, 2018 10:28:15
У меня в схеме по сравнению с той, что я привел, отсутствует инвертор на транзисторе Т2
Номер карты по нибблам AB CD EF GH IJ
1) Девять единиц в начале;
2) Ниббл A;
3) Чётность ниббла A (1 бит);
4) Ниббл B;
5) Чётность ниббла B (1 бит);
..
16) Ниббл I;
17) Чётность ниббла I (1 бит);
18) Ниббл J;
19) Чётность ниббла J (1 бит);
20) Ниббл чётности колонок для нибблов A B C D E F G H I J;
21) Бит 0.
Ср фев 21, 2018 17:28:18
vash_sa писал(а):Вы снимите осциллограмму сигнала после компаратора и после декодера манчестера и попытайтесь вручную её декодировать.
Ср фев 21, 2018 20:38:57
Ср фев 21, 2018 21:25:16
Чт фев 22, 2018 10:45:24
RFID_PERIOD_LEN F_CPU / 64 / 2000/*частота контролера / предделитель / частота RFID сигнала*/
TCNT0 = 0x100 - (RFID_PERIOD_LEN * 3 / 4);//счетчик таймера настроить на 3/4 длины периода RFID бита данных
Чт фев 22, 2018 11:01:36
Чт фев 22, 2018 12:53:15
Пт фев 23, 2018 08:39:33
Где эти точки в схеме?
Предделитель 64. 8000000/64 = 125 кГц. Задержка на 1 тик счетчика 8 мкс. По этой формуле TCNT0 = 0x100 - (RFID_PERIOD_LEN * 3 / 4) TCNT0 = 0x100 - 48 = 208.
Пт фев 23, 2018 12:27:10
Ну, сигнал на входе вы уже нашли. А вот сигнал на выходе нужно сделать самому - вывести значения получающихся бит на свободный порт. Затем записать синхронно обе осциллограммы (с двух входов осциллографа) и сравнить, верно ли проходит.
Пт фев 23, 2018 13:20:39
Тогда TimerTemp = TCNT0; не может быть меньше 210.
Пт фев 23, 2018 17:21:54
Пт фев 23, 2018 17:33:26
Ну наконец-то
Предлагаю экскурс в прошлое!
Пт фев 23, 2018 18:36:19
А в чём было дело?
if ((TimerTemp > (0x100 - RFID_PERIOD_34 + RFID_PERIOD/2)) || (RfidFlags & bTIM0_OVF)){
Пт фев 23, 2018 18:46:23
А ту строку с таймером, сделал так:
Пт фев 23, 2018 22:02:11
Поздравляю!
А старая версия не работала?
Вт фев 27, 2018 07:51:31
Вт фев 27, 2018 15:03:42