射频 rc500代码完全注释(11)
1250.WriteRawIO(RegInterruptRq,0x01); 1251.}
1252.if(irqBits&0x10)/*如果有发送中断请求*/ 1253.{
1254.WriteRawIO(RegInterruptRq,0x10);/*则置发送中断请求*/
1255.WriteRawIO(RegInterruptEn,0x82);/*缓冲区FIFO满中断使能*/ 1256.if(MpIsrInfo->cmd==PICC_ANTICOLL1) 1257.{
1258.WriteIO(RegChannelRedundancy,0x02); 1259.WriteRawIO(0,0x80); 1260.} 1261.}
1262.if(irqBits&0x0E)/*如果有接收中断请求?*/ 1263.{
1264.nbytes=ReadRawIO(RegFIFOLength); 1265.for(cnt=0;cntnbytes;cnt++) 1266.{
1267.MpIsrOut[MpIsrInfo->nBytesReceived]=ReadRawIO(RegFIFOData); 1268.MpIsrInfo->nBytesReceived++; 1269.}
1270.WriteRawIO(RegInterruptRq,0x0A&irqBits); 1271.}
1272.if(irqBits&0x04)/*如果有IDLE中断请求*/ 1273.{
1274.WriteRawIO(RegInterruptEn,0x20);/*则置计时器中断使能和请求*/ 1275.WriteRawIO(RegInterruptRq,0x20); 1276.irqBits&=~0x20;
1277.MpIsrInfo->irqSource&=~0x20;
1278.WriteRawIO(RegInterruptRq,0x04); 1279.}
1280.if(irqBits&0x20)/*如果有计时器中断请求*/ 1281.{
1282.WriteRawIO(RegInterruptRq,0x20);
1283.MpIsrInfo->status=MI_NOTAGERR;/*则表明无卡在此场中*/ 1284.} 1285.} 1286.}
1287.} 1288.
1289.///////////////////////////////////////////////////////////////////////
1290./*RS232异步串行通信接收和发送中断子程序*/
1291.///////////////////////////////////////////////////////////////////////
1292.voidisr_UART(void)interrupt4using1 1293.{
1294.unsignedcharlen,i; 1295.unsignedintj=0; 1296.
1297.if(RI) 1298.{
1299.len=SBUF;/*LEN为数据个数*/ 1300.RI=0;
1301.for(i=0;i 1303.while(!RI) 1304.{ 1305.j++; 1306.if(j>1000) 1307.{ 1308.break; 1309.} 1310.} 1311.if(j<1000) 1312.{ 1313.RevBuffer[i]=SBUF;/*接收来自上位机PC的数据*/ 1314.RI=0; 1315.j=0; 1316.} 1317.else 1318.{ 1319.break; 1320.} 1321.} 1322.if(i==len) 1323.{ 1324.REN=0; 1325.CmdValid=1; 1326.} 1327.} 1328.elseif(!RI&&TI) 1329.{ 1330.TI=0; 1331.len=RevBuffer[0];/*LEN为数据个数*/ 1332.for(i=0;i 1334.SBUF=RevBuffer[i];/*发送单片机里的已知数据*/ 1335.while(!TI); 1336.TI=0; 1337.} 1338.REN=1; 1339.} 1340.} 1341. 1342./////////////////////////////////////////////////////////////////////// 1343./*MFRC500软硬件配置总程序*/ 1344./////////////////////////////////////////////////////////////////////// 1345.charMfConfig(void) 1346.{ 1347.charstatus=MI_OK; 1348. 1349.M500PcdConfig();/*配置RC500读写器的引脚?重启时序*/ 1350.M500PcdMfOutSelect(2);/*?*/ 1351.returnstatus; 1352.} 1353. 1354./////////////////////////////////////////////////////////////////////// 1355./*系统初始化---单片机和RC500芯片*/ 1356./////////////////////////////////////////////////////////////////////// 1357.voidinit(void) 1358.{ 1359.RC500RST=0; 1360.ET2=0;//禁止定时器2中断 1361.T2CON=0x04;//启动定时器2(tr2=1) 1362.PCON=0x80; 1363.SCON=0x70;//8位uart,波特率可变 1364.TMOD=0x21;//TMOD=0x21;两个定时器均为自动重载方式 1365. 1366.TH1=BAUD_9600; 1367.TL1=TH1; 1368.TR1=TRUE;//串行口波特率发生器---定时器1 1369. 1370.TH0=0x60;//定时器0初始化 1371.TL0=0x60; 1372.TR0=0; 1373. 1374.ET0=0;//定时器0中断禁止---用作一般定时器 1375.ET1=0;//定时器1中断禁止---用作波特率发生器 1376.EA=1;//总中断允许 1377.EX0=1;//外部中断0允许----rc500的irq 1378.IT0=1;//外部中断0触发类型--下降沿触发 1379.TR2=0;//关闭定时器2(tr2=1) 1380.ES=TRUE;//串行口中断允许 1381.CmdValid=0; 1382. 1383.SPEAKER=1; 1384.delay_10ms(30); 1385.SPEAKER=0; 1386.delay_10ms(30); 1387.SPEAKER=1; 1388. 1389.reset_7289(); 1390.MfConfig();/*调用RC500软硬件配置总程序*/ 1391.} 1392. 1393./////////////////////////////////////////////////////////////////////// 1394.//IC卡处理函数 1395./////////////////////////////////////////////////////////////////////// 1396.voidcmd_execution(void) 1397.{ 1398.unsignedcharcmd; 1399.unsignedcharstatus; 1400. 1401.cmd=RevBuffer[0];/*来自上位机的命令存于REVBUFFER[0]*/ 1402.switch(cmd) 1403.{ 1404.case1:/*终止卡的操作*/ 1405.status=M500PiccHalt(); 1406. 1407.RevBuffer[0]=1; 1408.RevBuffer[1]=status;/*返回给上位机的内容*/ 1409.break; 1410.case2://Request,Anticoll,Select,returnCardType(2bytes)+CardSeri
相关推荐:
- [基础教育]2016-2022年中国钢芯铝绞线市场现状调
- [基础教育]语文部编版初一语文下册练习题 句式变
- [基础教育]南京继续教育参考答案--深入学习贯彻习
- [基础教育]国旗下讲话稿——珍惜时间好读书
- [基础教育]北师大版六年级数学下册圆锥的体积教学
- [基础教育]人教版-音乐-四年级下册-四年级下册音
- [基础教育]乔布斯2019年斯坦福大学毕业典礼致辞.d
- [基础教育]2015年加油站安全知识竞赛试题及答案
- [基础教育]2020年教师年度考核个人工作总结
- [基础教育]2019年中考历史试题-2019年大庆市初中
- [基础教育]初三仁爱英语第一轮总复习教案
- [基础教育]SG-A094电气配管安装工程隐蔽验收记录
- [基础教育]冀教版小学数学三年级下册第六单元教材
- [基础教育]青岛版(五制)小学科学二年级下册16《制
- [基础教育]2018-2019年初中科学初一中考真卷测试
- [基础教育]幼儿园大班期末简短评语精选
- [基础教育]2018云南临沧公务员考试申论技巧:这样
- [基础教育]学校食堂经营管理方案
- [基础教育]新中国砥砺奋进的七十年原文
- [基础教育]真空泵的选型及常用计算公式
- 高职田径课程教学现状与对策
- 全髋关节置换术在老年股骨颈骨折患者中
- 青人社厅函〔2016〕576号(附件)工资
- cp101-07砂子检验作业指导书 - secret
- 微观经济学 第八章 博弈论 习题
- 2014高考真题(词语运用)汇编及答案
- 2018年人教版七年级语文下册《第三单元
- 苏教版数学四年级上册第一单元试题 - M
- 四川大学新闻与传播考研2000-2010年真
- 浙江万里学院英语专业四年制本科教学计
- 最新2018马年事业祝福语-范文word版(2
- 最全模具行业术语英文翻译
- 皮亚杰的发展心理学理论
- 64篇高考情景式默写 练习题及答案
- 仿写(学生稿)
- 《SQL Server数据库技术》试卷A
- 第七章作业答案
- 江苏省赣榆县海头高级中学高中语文必修
- 浙江省2001年10月自考正常人体解剖学答
- 2012英语重点短语




