导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[yejianguocom]mifare 读写程序



No.55321
作者:yejianguocom
邮件:
ID:1501
登陆:20次
文章数:7篇
最后登陆IP:116.25.79.75
最后登陆:2009/7/1 0:45:43
注册:2002/7/16 10:09:00
财富:41
发帖时间:2004/5/25 17:01:13
发贴者IP:219.133.90.135
标题:yejianguocom:mifare 读写程序
摘要:No.55321mifare 读写程序 //--------------------------------------
#define   IN_MIFARE_C
#include "mifare.h"
//--------------------------------------
uchar g_task1;
uchar g_task2;
uint  g_rc500_softdog;
uchar g_state_rc500;
uint  g_card_left;
uint  g_buzzer_on_time;
uchar g_rc500_sector;
uchar g_rc500_block;
uchar g_rc500_key_kind;

uchar idata inside_pin[12]={0xdd,0xdd};
uchar idata rc500_serial_no[16]={0xaa,0xaa,0xaa,0xaa,0xaa};
uchar idata rc500_data_block_bak[16]={0xbb,0xbb,0xbb,0xbb,0xbb};
//--------------------------------------
void main(void)
{
  r_led_on();
  feed_dog();
  init_cpu_io();
  delay_ms(150);
  init_cpu_io();
  init_var();
  buzzer_on_moment();
  soft_reset_rc500();
  feed_dog();
  init_rc500();
  init_cpu();
  g_led_on();
  while(1)
     {
         feed_dog();
         if( (g_task1&0x01) == 0x01)
           {
              g_task1 &= ~0x01;
              g_state_rc500 = 1;
              config_rc500_request();
              g_rc500_softdog = 2000;    // 1s
           }
         if( (g_task1&0x02) == 0x02)
           {
              g_task1 &= ~0x02;
              g_state_rc500 = 2;
              config_rc500_anticollision();
           }
         if( (g_task1&0x04) == 0x04)
           {
              g_task1 &= ~0x04;
              g_state_rc500 = 3;
              get_rc500_card_serial();
              config_rc500_select_card();
           }
//--------------------------------------------------------
         if( (g_task1&0x08) == 0x08)
           {
              g_task1 &= ~0x08;
              g_state_rc500 = 4;
              config_rc500_pcd_loadkey();          // ok
           }
         if( (g_task1&0x10) == 0x10)
           {
              g_task1 &= ~0x10;
              g_state_rc500 = 5;
              config_rc500_picc_authenticate1();
           }
         if( (g_task1&0x20) == 0x20)
           {
              g_task1 &= ~0x20;
              g_state_rc500 = 6;
              config_rc500_picc_authenticate2();
           }
         if( (g_task1&0x40) == 0x40)
           {
              g_task1 &= ~0x40;
              g_state_rc500 = 7;
              config_rc500_inc_value();
           }          
         if( (g_task1&0x80) == 0x80)
           {
              g_task1 &= ~0x80;
              g_state_rc500 = 8;
              config_rc500_inc_data_1();
              g_task2 |= 0x01;
           }
         if( (g_task2&0x01) == 0x01)
           {
              g_task2 &= ~0x01;
              r_led_on();
              buzzer_on_moment();
              g_task1 |= 0x01;
           }
     }
}
//---------------------------------------------------------
void rc500_interrupt (void) interrupt 0  using 1
{
   cs_rc500 = 0;
   if( (interruptrq&0x20) == 0x20 )           // irq_timeout
      {
        g_task1 |= 0x01;
        command = PCD_IDLE;
      }
   else if( g_state_rc500==4 )
      {
        if( (errorflag&0x17)==0x00 )
           g_task1 |= 0x10;
        else
           g_task1 |= 0x01;
        command = PCD_IDLE;
      }
   else if( g_state_rc500==5 )
      {
 ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:31毫秒 最大:5328毫秒 查询7次