//******************************************************************/
//功 能:读RC522寄存器
//参数说明:Address[IN]:寄存器地址
//返 回:读出的值
//******************************************************************/
unsigned char ReadRawRC(unsigned char Address)
{
unsigned char i, ucAddr ;
unsigned char ucResult=0 ;
NSS522_0 ;
SCK522_0 ;
ucAddr = ((Address<<1)&0x7E)|0x80 ;
for(i=8;i>0;i--)
{
if((ucAddr&0x80)==0x80)
SI522_1 ;
else
SI522_0 ;
SCK522_1 ;
ucAddr <<= 1 ;
SCK522_0 ;
}
for(i=8;i>0;i--)
{
SCK522_0 ;
SCK522_1 ;
ucResult <<=1 ;
ucResult |= SO522 ;
SCK522_0 ;
}
SCK522_0 ;
NSS522_1 ;
return ucResult ;
}
//******************************************************************/
//功 能:写RC522寄存器
//参数说明:Address[IN]:寄存器地址
// value[IN]:写入的值
//******************************************************************/
/*
void WriteRawRC(unsigned char Address, unsigned char value)
{
unsigned char i, ucAddr ;
NSS522_0 ;
SCK522_0 ;
ucAddr = ((Address<<1)&0x7E) ;
for(i=8;i>0;i--)
{
if ((ucAddr&0x80)==0x80)
{ SI522_1; }
else
{ SI522_0; }
SCK522_1;
ucAddr <<= 1;
SCK522_0;
}
for(i=8;i>0;i--)
{
if ((value&0x80)==0x80)
{ SI522_1; }
else
{ SI522_0; }
SCK522_1;
value <<= 1;
SCK522_0;
}
SCK522_0;
NSS522_1;
}
*/
一周热门 更多>