ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1474150 Топик полностью
Samx (02.11.2024 20:37, просмотров: 60) ответил ASDFS на Команда чтения, похоже, х33
Да, 0x33. Я так читал. 

DsCheckPrecense() здесь посылает Reset и проверяет приход Precense:


void CheckRfidByDs(void)

// считываем карту по протоколу 1-wire

{

// проверим наличие импульса по флагу прерывания INT4

u8_t input=GIFR;

if(!(input&(1<<INTF1))) return;

if(!DsCheckPrecense())

{

u8_t buff[8];

DsSendByte(0x33);

u8_t crc=0;

for(u8_t j=0;j<8;j++)

{

buff[j]=DsGetByte();

crc=crc1wire(buff[j],crc);

}

if(crc) return; // выйдем без сброса флага прерывания, чтобы в следующий раз очередная попытка чтения произошла

if(RfidFlag) return; // если предыдущий массив еще не считан - выйдем без сброса флага

u8_t bi=5;

for(u8_t i=0; i<5;i++)

{

RfidBytes[i]= buff[bi];

bi--;

}

RfidFlag=1;

}

GIFR= (1<<INTF1); // сбросим флаг прерывания Не |= !

}

//----------------------------------------------------------------