请问如何下载rc将RFID-rc5200和89c51单片机连接?

查看: 5811|回复: 21
RFID-RC522与单片机89C52用C语言编写的驱动的源代码,实现刷卡开锁功能
RFID-RC522与51单片机89C52用C语言编写的驱动的源代码,实现刷卡开锁功能
全部资料下载:
(6.57 MB, 下载次数: 234)
13:22 上传
点击文件名下载附件
MFRC522的单片机程序如下(部分预览,完整版本请下载附件)
/*
* 文 件 名:MFRC522.c
* 芯& & 片:STC12C5A60S2
* 晶& & 振:12MHz
* 创 建 者:冷月
* 创建日期:11.12
* 修 改 者:
* 修改日期:
* 功能描述:Mifare1 寻卡→防冲突→选卡→读写 实现
#include &MFRC522.h&
#include &SPI.h&
#include &Delay.h&
#include &UART.h&
#define& && &&&uchar& && &&&unsigned char
#define& && &&&uint& && &&&unsigned int
//4字节卡序列号,第5字节为校验字节
uchar serNum[5];
//函数原型申明
void SetBitMask(uchar reg, uchar mask);
void ClearBitMask(uchar reg, uchar mask);
void AntennaOn(void);
void AntennaOff(void);
* 函 数 名:Write_MFRC5200
* 功能描述:向MFRC522的某一寄存器写一个字节数据
* 输入参数:addr--寄存器地址;val--要写入的值
* 返 回 值:无
*/
void Write_MFRC522(uchar addr, uchar val)
{
& && &&&CS = 0;
& && &&&//地址格式:0XXXXXX0
& && &&&SPI_Write((addr&&1)&0x7E);& && &&&
& && &&&SPI_Write(val);
& && &&&
& && &&&CS = 1;& && &&&
}
* 函 数 名:Read_MFRC522
* 功能描述:从MFRC522的某一寄存器读一个字节数据
* 输入参数:addr--寄存器地址
* 返 回 值:返回读取到的一个字节数据
*/
uchar Read_MFRC522(uchar addr)
{
& && &&&
& && &&&CS = 0;
& && &&&//地址格式:1XXXXXX0
& && &&&SPI_Write(((addr&&1)&0x7E) | 0x80);& && &&&
& && &&&val = SPI_Read();
& && &&&
& && &&&CS = 1;
& && &&&
& && &&&& && &&&
}
* 函 数 名:SetBitMask
* 功能描述:置RC522寄存器位
* 输入参数:reg--寄存器地址;mask--置位值
* 返 回 值:无
*/
void SetBitMask(uchar reg, uchar mask)&&
{
& &
& & tmp = Read_MFRC522(reg);
& & Write_MFRC522(reg, tmp | mask);&&// set bit mask
}
* 函 数 名:ClearBitMask
* 功能描述:清RC522寄存器位
* 输入参数:reg--寄存器地址;mask--清位值
* 返 回 值:无
*/
void ClearBitMask(uchar reg, uchar mask)&&
{
& &
& & tmp = Read_MFRC522(reg);
& & Write_MFRC522(reg, tmp & (~mask));&&// clear bit mask
}
* 函 数 名:AntennaOn
* 功能描述:开启天线,每次启动或关闭天险发射之间应至少有1ms的间隔
* 输入参数:无
* 返 回 值:无
*/
void AntennaOn(void)
{
& && &&&
& && &&&temp = Read_MFRC522(TxControlReg);
& && &&&if (!(temp & 0x03))
& && &&&{
& && && && && & SetBitMask(TxControlReg, 0x03);
& && &&&}
}
* 函 数 名:AntennaOff
* 功能描述:关闭天线,每次启动或关闭天险发射之间应至少有1ms的间隔
* 输入参数:无
* 返 回 值:无
*/
void AntennaOff(void)
{
& && &&&ClearBitMask(TxControlReg, 0x03);
}
* 函 数 名:ResetMFRC522
* 功能描述:复位RC522
* 输入参数:无
* 返 回 值:无
*/
void MFRC522_Reset(void)
{
& & Write_MFRC522(CommandReg, PCD_RESETPHASE);
}
* 函 数 名:InitMFRC522
* 功能描述:初始化RC522
* 输入参数:无
* 返 回 值:无
*/
void MFRC522_Init(void)
{
& && &&&NRSTPD = 1;
& && &&&MFRC522_Reset();
& && && && && &&&
& && &&&//Timer: TPrescaler*TreloadVal/6.78MHz = 24ms
& & Write_MFRC522(TModeReg, 0x8D);& && && && && & //Tauto=1; f(Timer) = 6.78MHz/TPreScaler
& & Write_MFRC522(TPrescalerReg, 0x3E);& && &&&//TModeReg[3..0] + TPrescalerReg
& & Write_MFRC522(TReloadRegL, 30);& && && &&&
& & Write_MFRC522(TReloadRegH, 0);
& && &&&
& && &&&Write_MFRC522(TxAutoReg, 0x40);& && && && && & //100%ASK
& && &&&Write_MFRC522(ModeReg, 0x3D);& && && && && & //CRC初始值0x6363& && &&&???
& && &&&//ClearBitMask(Status2Reg, 0x08);& && && && && & //MFCrypto1On=0
& && &&&//Write_MFRC522(RxSelReg, 0x86);& && && && && & //RxWait = RxSelReg[5..0]
& && &&&//Write_MFRC522(RFCfgReg, 0x7F);& && && && && && & //RxGain = 48dB
& && &&&AntennaOn();& && && && && & //打开天线
}
* 函 数 名:MFRC522_Request
* 功能描述:寻卡,读取卡类型号
* 输入参数:reqMode--寻卡方式,
*& && && && && && && && & TagType--返回卡片类型
*& && && && && && && && && && && &0x4400 = Mifare_UltraLight
*& && && && && && && && && && &&&0x0400 = Mifare_One(S50)
*& && && && && && && && && && &&&0x0200 = Mifare_One(S70)
*& && && && && && && && && && &&&0x0800 = Mifare_Pro(X)
*& && && && && && && && && && &&&0x4403 = Mifare_DESFire
* 返 回 值:成功返回MI_OK
*/
uchar MFRC522_Request(uchar reqMode, uchar *TagType)
{
& && &&&&&
& && &&&uint backB& && && && && && && && &//接收到的数据位数
& && &&&Write_MFRC522(BitFramingReg, 0x07);& && && && && & //TxLastBists = BitFramingReg[2..0]& && &&&???
& && &&&
& && &&&TagType[0] = reqM
& && &&&status = MFRC522_ToCard(PCD_TRANSCEIVE, TagType, 1, TagType, &backBits);
& && &&&if ((status != MI_OK) || (backBits != 0x10))
& && &&&{& &
& && && && && & status = MI_ERR;
& && &&&}
& &
& && &&&
}
* 函 数 名:MFRC522_ToCard
* 功能描述:RC522和ISO14443卡通讯
* 输入参数:command--MF522命令字,
*& && && && && && && && & sendData--通过RC522发送到卡片的数据,
*& && && && && && && && & sendLen--发送的数据长度& && && && && &&&
*& && && && && && && && & backData--接收到的卡片返回数据,
*& && && && && && && && & backLen--返回数据的位长度
* 返 回 值:成功返回MI_OK
*/
uchar MFRC522_ToCard(uchar command, uchar *sendData, uchar sendLen, uchar *backData, uint *backLen)
{
& & uchar status = MI_ERR;
& & uchar irqEn = 0x00;
& & uchar waitIRq = 0x00;
& & uchar lastB
& &
& &
& & switch (command)
& & {
& && &&&case PCD_AUTHENT:& && && && && & //认证卡密
& && && && && & {
& && && && && && && && &irqEn = 0x12;
& && && && && && && && &waitIRq = 0x10;
& && && && && && && && &
& && && && && & }
& && && && && & case PCD_TRANSCEIVE:& && &&&//发送FIFO中数据
& && && && && & {
& && && && && && && && &irqEn = 0x77;
& && && && && && && && &waitIRq = 0x30;
& && && && && && && && &
& && && && && & }
& && && && && & default:
& && && && && && && && &
& & }
& &
& & Write_MFRC522(CommIEnReg, irqEn|0x80);& && &&&//允许中断请求
& & ClearBitMask(CommIrqReg, 0x80);& && && && && && && && &//清除所有中断请求位
& & SetBitMask(FIFOLevelReg, 0x80);& && && && && && && && &//FlushBuffer=1, FIFO初始化
& &
& && &&&Write_MFRC522(CommandReg, PCD_IDLE);& && &&&//NO取消当前命令& && &&&???
& && &&&//向FIFO中写入数据
& & for (i=0; i&sendL i++)
& & {& &
& && && && && & Write_MFRC522(FIFODataReg, sendData[i]);& &
& && &&&//执行命令
& && &&&Write_MFRC522(CommandReg, command);
& & if (command == PCD_TRANSCEIVE)
& & {& &
& && && && && & SetBitMask(BitFramingReg, 0x80);& && && && && & //StartSend=1,transmission of data starts&&
& && &&&}& &
& &
& && &&&//等待接收数据完成
& && &&&i = 2000;& && &&&//i根据时钟频率调整,操作M1卡最大等待时间25ms& && &&&???
& & do
& & {
& && && && && & //CommIrqReg[7..0]
& && && && && & //Set1 TxIRq RxIRq IdleIRq HiAlerIRq LoAlertIRq ErrIRq TimerIRq
& && &&&n = Read_MFRC522(CommIrqReg);
& && &&&i--;
& & }
& & while ((i!=0) && !(n&0x01) && !(n&waitIRq));
& & ClearBitMask(BitFramingReg, 0x80);& && && && && && && && &//StartSend=0
& && &&&
& & if (i != 0)
& & {& &
& && &&&if(!(Read_MFRC522(ErrorReg) & 0x1B))& && &&&//BufferOvfl Collerr CRCErr ProtecolErr
& && &&&{
& && && && &status = MI_OK;
& && && && &if (n & irqEn & 0x01)
& && && && &{& &
& && && && && && && && && && &&&status = MI_NOTAGERR;& && && && && && && && &//??& &
& && && && && && && && &}
& && && && &if (command == PCD_TRANSCEIVE)
& && && && &{
& && && && && && && &&&n = Read_MFRC522(FIFOLevelReg);
& && && && && && && & lastBits = Read_MFRC522(ControlReg) & 0x07;
& && && && && & if (lastBits)
& && && && && & {& &
& && && && && && && && && && && && && & *backLen = (n-1)*8 + lastB& &
& && && && && && && && && && &&&}
& && && && && & else
& && && && && & {& &
& && && && && && && && && && && && && & *backLen = n*8;& &
& && && && && && && && && && &&&}
& && && && && & if (n == 0)
& && && && && & {& &
& && && && && && && && && && && && && & n = 1;& &
& && && && && && && && && && &&&}
& && && && && & if (n & MAX_LEN)
& && && && && & {& &
& && && && && && && && && && && && && & n = MAX_LEN;& &
& && && && && && && && && && &&&}
& && && && && && && && && && &&&
& && && && && && && && && && &&&//读取FIFO中接收到的数据
& && && && && & for (i=0; i&n; i++)
& && && && && & {& &
& && && && && && && && && && && && && & backData[i] = Read_MFRC522(FIFODataReg);& &
& && && && && && && && && && &&&}
& && && && &}
& && &&&}
& && &&&else
& && &&&{& &
& && && && && && && && &status = MI_ERR;&&
& && && && && & }
& && &&&
& & }
& && &&&
& & //SetBitMask(ControlReg,0x80);& && && &&&//timer stops
& & //Write_MFRC522(CommandReg, PCD_IDLE);
* 函 数 名:MFRC522_Anticoll
* 功能描述:防冲突检测,读取选中卡片的卡序列号
* 输入参数:serNum--返回4字节卡序列号,第5字节为校验字节
* 返 回 值:成功返回MI_OK
*/
uchar MFRC522_Anticoll(uchar *serNum)
{
& &
& &
& && &&&uchar serNumCheck=0;
& & uint unL
& &
& & //ClearBitMask(Status2Reg, 0x08);& && && && && & //TempSensclear
& & //ClearBitMask(CollReg,0x80);& && && && && && && && &//ValuesAfterColl
& && &&&Write_MFRC522(BitFramingReg, 0x00);& && && && && & //TxLastBists = BitFramingReg[2..0]
& & serNum[0] = PICC_ANTICOLL;
& & serNum[1] = 0x20;
& & status = MFRC522_ToCard(PCD_TRANSCEIVE, serNum, 2, serNum, &unLen);
& & if (status == MI_OK)
& && &&&{
& && && && && & //校验卡序列号
& && && && && & for (i=0; i&4; i++)
& && && && && & {& &
& && && && && && && && & serNumCheck ^= serNum[i];
& && && && && & }
& && && && && & if (serNumCheck != serNum[i])
& && && && && & {& &
& && && && && && && && &status = MI_ERR;& &
& && && && && & }
& & }
& & //SetBitMask(CollReg, 0x80);& && && && && & //ValuesAfterColl=1
* 函 数 名:CalulateCRC
* 功能描述:用MF522计算CRC
* 输入参数:pIndata--要读数CRC的数据,len--数据长度,pOutData--计算的CRC结果
* 返 回 值:无
*/
void CalulateCRC(uchar *pIndata, uchar len, uchar *pOutData)
{
& & uchar i,
& & ClearBitMask(DivIrqReg, 0x04);& && && && && && && && &//CRCIrq = 0
& & SetBitMask(FIFOLevelReg, 0x80);& && && && && && && && &//清FIFO指针
& & //Write_MFRC522(CommandReg, PCD_IDLE);
& && &&&//向FIFO中写入数据& && &&&
& & for (i=0; i& i++)
& & {& &
& && && && && & Write_MFRC522(FIFODataReg, *(pIndata+i));& &
& && &&&}
& & Write_MFRC522(CommandReg, PCD_CALCCRC);
& && &&&//等待CRC计算完成
& & i = 0xFF;
& & do
& & {
& && &&&n = Read_MFRC522(DivIrqReg);
& && &&&i--;
& & }
& & while ((i!=0) && !(n&0x04));& && && && && && && && &//CRCIrq = 1
& && &&&//读取CRC计算结果
& & pOutData[0] = Read_MFRC522(CRCResultRegL);
& & pOutData[1] = Read_MFRC522(CRCResultRegM);
}
* 函 数 名:MFRC522_SelectTag
* 功能描述:选卡,读取卡存储器容量
* 输入参数:serNum--传入卡序列号
* 返 回 值:成功返回卡容量
*/
uchar MFRC522_SelectTag(uchar *serNum)
{
& &
& && &&&
& && &&&
& & uint recvB
& & uchar buffer[9];
& && &&&//ClearBitMask(Status2Reg, 0x08);& && && && && && && && &//MFCrypto1On=0
& & buffer[0] = PICC_SElECTTAG;
& & buffer[1] = 0x70;
& & for (i=0; i&5; i++)
& & {
& && && && &buffer[i+2] = *(serNum+i);
& & }
& && &&&CalulateCRC(buffer, 7, &buffer[7]);& && && && && & //??
& & status = MFRC522_ToCard(PCD_TRANSCEIVE, buffer, 9, buffer, &recvBits);
& &
& & if ((status == MI_OK) && (recvBits == 0x18))
& & {& &
& && && && && & size = buffer[0];
& && &&&}
& & else
& & {& &
& && && && && & size = 0;& &
* 函 数 名:MFRC522_Auth
* 功能描述:验证卡片密码
* 输入参数:authMode--密码验证模式
& && && && && &&&0x60 = 验证A密钥
& && && && && &&&0x61 = 验证B密钥
& && && && & BlockAddr--块地址
& && && && & Sectorkey--扇区密码
& && && && & serNum--卡片序列号,4字节
* 返 回 值:成功返回MI_OK
*/
uchar MFRC522_Auth(uchar authMode, uchar BlockAddr, uchar *Sectorkey, uchar *serNum)
{
& &
& & uint recvB
& &
& && &&&uchar buff[12];
& && &&&//验证指令+块地址+扇区密码+卡序列号
& & buff[0] = authM
& & buff[1] = BlockA
& & for (i=0; i&6; i++)
& & {& &
& && && && && & buff[i+2] = *(Sectorkey+i);& &
& && &&&}
& & for (i=0; i&4; i++)
& & {& &
& && && && && & buff[i+8] = *(serNum+i);& &
& && &&&}
& & status = MFRC522_ToCard(PCD_AUTHENT, buff, 12, buff, &recvBits);
& & if ((status != MI_OK) || (!(Read_MFRC522(Status2Reg) & 0x08)))
& & {& &
& && && && && & status = MI_ERR;& &
& && &&&}
& &
* 函 数 名:MFRC522_Read
* 功能描述:读块数据
* 输入参数:blockAddr--块地址;recvData--读出的块数据
* 返 回 值:成功返回MI_OK
*/
uchar MFRC522_Read(uchar blockAddr, uchar *recvData)
{
& &
& & uint unL
& & recvData[0] = PICC_READ;
& & recvData[1] = blockA
& & CalulateCRC(recvData,2, &recvData[2]);
& & status = MFRC522_ToCard(PCD_TRANSCEIVE, recvData, 4, recvData, &unLen);
& & if ((status != MI_OK) || (unLen != 0x90))
& & {
& && &&&status = MI_ERR;
& & }
& &
* 函 数 名:MFRC522_Write
* 功能描述:写块数据
* 输入参数:blockAddr--块地址;writeData--向块写16字节数据
* 返 回 值:成功返回MI_OK
*/
uchar MFRC522_Write(uchar blockAddr, uchar *writeData)
{
& &
& & uint recvB
& &
& && &&&uchar buff[18];
& & buff[0] = PICC_WRITE;
& & buff[1] = blockA
& & CalulateCRC(buff, 2, &buff[2]);
& & status = MFRC522_ToCard(PCD_TRANSCEIVE, buff, 4, buff, &recvBits);
& & if ((status != MI_OK) || (recvBits != 4) || ((buff[0] & 0x0F) != 0x0A))
& & {& &
& && && && && & status = MI_ERR;& &
& && &&&}
& && &&&
& & if (status == MI_OK)
& & {
& && &&&for (i=0; i&16; i++)& && && && && & //向FIFO写16Byte数据
& && &&&{& &
& && && && && & buff[i] = *(writeData+i);& &
& && &&&}
& && &&&CalulateCRC(buff, 16, &buff[16]);
& && &&&status = MFRC522_ToCard(PCD_TRANSCEIVE, buff, 18, buff, &recvBits);
& && &&&
& && && && && & if ((status != MI_OK) || (recvBits != 4) || ((buff[0] & 0x0F) != 0x0A))
& && &&&{& &
& && && && && && && && &status = MI_ERR;& &
& && && && && & }
& & }
& &
* 函 数 名:MFRC522_Halt
* 功能描述:命令卡片进入休眠状态
* 输入参数:无
* 返 回 值:无
*/
void MFRC522_Halt(void)
{
& && &&&
& & uint unL
& & uchar buff[4];
& & buff[0] = PICC_HALT;
& & buff[1] = 0;
& & CalulateCRC(buff, 2, &buff[2]);
& & status = MFRC522_ToCard(PCD_TRANSCEIVE, buff, 4, buff,&unLen);
}复制代码
共享资料的黑币奖励!
好资料,51黑有你更精彩
供应13.56M非接芯片,兼容CV520,RC522,RC523,FM17520,FM17522.具有绝对成本优势。有意者可加QQ
51黑有你更精彩!!!
好资料~谢谢分享
资料很全面 学习了
资料很不错呀
真的是好资料,谢谢楼主
謝謝提供的資料,長知識了
真的好牛啊 ……
51黑有你更精彩!!!!!
感谢楼主分享
支持楼主,谢谢分享
51有你更精彩
谢谢楼主,好资料,51黑有你更精彩
51有你更精彩
**** 作者被禁止或删除 内容自动屏蔽 ****
sss但事实上是是是是是是是
Powered by后使用快捷导航没有帐号?
请完成以下验证码
查看: 5115|回复: 25
關於RFID RC522
在线时间809 小时
芯币18285枚
TA的帖子TA的资源
纯净的硅(初级), 积分 682, 距离下一级还需 118 积分
纯净的硅(初级), 积分 682, 距离下一级还需 118 积分
本帖最后由 naga568 于
09:37 编辑
前幾天在淘寶 買了幾件RFID RC522 , 照著提供的程序燒進去 , 使用也沒甚麼問題 , 但他所附的一張白色卡片是做甚麼的? 怎麼放在感應區上 完全沒反應 , 請問要如何 使用它呢 ?&&另外 一個問題 關於感應距離 , 照片裡 左邊那片大約是2CM , 右邊那片大約是0.5CM, 請問 淘寶賣的RFID RC522 哪一組感應距離較遠 大約要5CM
DSCN1363.JPG (921.4 KB, 下载次数: 8)
RFID RC522
09:28 上传
在线时间4220 小时
威望6945分
芯币11460枚
E金币405枚
TA的帖子TA的资源
买了两片,差距就这么大,一致性也太差了吧。
调一调做到3、4厘米应该没问题吧。
读卡距离主要看线圈的匹配和卡片的种类。
EEWORLD开发板置换群:,——电工们免费装β的天堂,虽然在群里买不到板子,但是可以学会开车;虽然学不到技术,但是可以学会开车;商家勿入!加群暗号:喵
在线时间809 小时
芯币18285枚
TA的帖子TA的资源
纯净的硅(初级), 积分 682, 距离下一级还需 118 积分
纯净的硅(初级), 积分 682, 距离下一级还需 118 积分
謝謝 回應 , 請問自己 可以調整距離嗎 ? 還有 要調哪裡呢 ?
在线时间809 小时
芯币18285枚
TA的帖子TA的资源
纯净的硅(初级), 积分 682, 距离下一级还需 118 积分
纯净的硅(初级), 积分 682, 距离下一级还需 118 积分
买了两片,差距就这么大,一致性也太差了吧。
调一调做到3、4厘米应该没问题吧。
读卡距离主要看线圈的匹配和卡片的种类。謝謝 回應 , 請問自己 可以調整距離嗎 ? 還有 要調哪裡呢 ?
在线时间4220 小时
威望6945分
芯币11460枚
E金币405枚
TA的帖子TA的资源
謝謝 回應 , 請問自己 可以調整距離嗎 ? 還有 要調哪裡呢 ?
这个不太好说,应该由厂家来调最好,其实万一厂家已经调到了最佳匹配,那就没必要调了。
关键是两个电路板之间的一致性就这么差,不太好分析。如果电容电感值都一样的话,差别不会这么大的。
如果自己调的话,一般调节电容值就行。
EEWORLD开发板置换群:,——电工们免费装β的天堂,虽然在群里买不到板子,但是可以学会开车;虽然学不到技术,但是可以学会开车;商家勿入!加群暗号:喵
在线时间809 小时
芯币18285枚
TA的帖子TA的资源
纯净的硅(初级), 积分 682, 距离下一级还需 118 积分
纯净的硅(初级), 积分 682, 距离下一级还需 118 积分
这个不太好说,应该由厂家来调最好,其实万一厂家已经调到了最佳匹配,那就没必要调了。
关键是两个电路板之间的一致性就这么差,不太好分析。如果电容电感值都一样的话,差别不会这么大的。
如果自己调的话,一般调节电容值就行。
了解 , 謝謝
在线时间857 小时
E金币727枚
TA的帖子TA的资源
纯净的硅(中级), 积分 872, 距离下一级还需 328 积分
纯净的硅(中级), 积分 872, 距离下一级还需 328 积分
白的是IC卡吧。空白的,当然没反应了。
在线时间809 小时
芯币18285枚
TA的帖子TA的资源
纯净的硅(初级), 积分 682, 距离下一级还需 118 积分
纯净的硅(初级), 积分 682, 距离下一级还需 118 积分
白的是IC卡吧。空白的,当然没反应了。
呵呵 原來是空白的啊 , 請問如何把它變成跟 藍色圓形扣一樣的功能呢 ?
在线时间385 小时
芯币1200枚
E金币137枚
TA的帖子TA的资源
一粒金砂(高级), 积分 350, 距离下一级还需 150 积分
一粒金砂(高级), 积分 350, 距离下一级还需 150 积分
我也买了这个的套件,还没开始学呢,以后要多关注了
一心一意,精益求精
在线时间809 小时
芯币18285枚
TA的帖子TA的资源
纯净的硅(初级), 积分 682, 距离下一级还需 118 积分
纯净的硅(初级), 积分 682, 距离下一级还需 118 积分
我也买了这个的套件,还没开始学呢,以后要多关注了
嗯 一起學習 , 一起努力
在线时间103 小时
芯币8957枚
TA的帖子TA的资源
纯净的硅(初级), 积分 607, 距离下一级还需 193 积分
纯净的硅(初级), 积分 607, 距离下一级还需 193 积分
做的好的,8CM肯定没啥问题的;
我们自己产品上用,要是才5CM的话,那就是废品;
在线时间103 小时
芯币8957枚
TA的帖子TA的资源
纯净的硅(初级), 积分 607, 距离下一级还需 193 积分
纯净的硅(初级), 积分 607, 距离下一级还需 193 积分
这种板子的PCB图我还不少呢;
在线时间809 小时
芯币18285枚
TA的帖子TA的资源
纯净的硅(初级), 积分 682, 距离下一级还需 118 积分
纯净的硅(初级), 积分 682, 距离下一级还需 118 积分
做的好的,8CM肯定没啥问题的;
我们自己产品上用,要是才5CM的话,那就是废品;
那我買到廢品 &&, 請問前輩 如何把白卡它變成跟 藍色圓形扣一樣的功能呢 ?
在线时间103 小时
芯币8957枚
TA的帖子TA的资源
纯净的硅(初级), 积分 607, 距离下一级还需 193 积分
纯净的硅(初级), 积分 607, 距离下一级还需 193 积分
那我買到廢品& &, 請問前輩 如何把白卡它變成跟 藍色圓形扣一樣的功能呢 ?
在线时间103 小时
芯币8957枚
TA的帖子TA的资源
纯净的硅(初级), 积分 607, 距离下一级还需 193 积分
纯净的硅(初级), 积分 607, 距离下一级还需 193 积分
那我買到廢品& &, 請問前輩 如何把白卡它變成跟 藍色圓形扣一樣的功能呢 ?都是S50的卡,不是一样的吗?
程序没啥区别啊;
在线时间809 小时
芯币18285枚
TA的帖子TA的资源
纯净的硅(初级), 积分 682, 距离下一级还需 118 积分
纯净的硅(初级), 积分 682, 距离下一级还需 118 积分
都是S50的卡,不是一样的吗?
程序没啥区别啊;
因為是第一次的新手 , 完全不知道 要對白卡寫入甚麼資料 , 他才會變成跟藍色圓形扣一樣的功能 , 前輩請指點明路
在线时间7 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
距离要看rc522的功率吧,白卡里也是s50,一样的
在线时间26 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
按道理应该有反应的
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
求大神教&&我也买了 但是不会用 程序下载进去没反应
在线时间2 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
楼主可以共享一下附送的烧录程序吗?
EEWORLD 官方微信
Powered by鍙?渶涓

我要回帖

更多关于 rc有源滤波器如何调试 的文章

 

随机推荐