2024年物联网嵌入式最全基于STM32的RFID-RC522门禁系统_stm32门禁系统射频卡rc522(1),手把手教你在物联网嵌入式开发-Studio上分析内存泄漏

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

                            PcdAntennaOff(); 
                            PcdAntennaOn();
                                    printf("寻卡失败\r\n");
                            
                            if(RC522_flag3<3) RC522_flag3++;
                      if(RC522_flag3==4)RC522_flag3=3;
                            

                    
                            continue;
                    }
                    else 
                    {
                                    if(RC522_flag3==3) 
                                    {
                                              RC522_flag3=4;
                                                    RC522_flag=1;
                                    }
                    }
                    
                    
                    if(RC522_flag==1) 
                    {  
                            RC522_flag=0;                
                            printf("1231231231312312312312312312\r\n");
                            status = PcdAnticoll(g_ucTempbuf);//防冲撞                
                            if(status != MI_OK)
                            {   printf("寻卡失败1");  continue;           }


                            printf("卡序列号:");        //超级终端显示,
                            for(i=0;i<4;i++)
                            {
                            temp=g_ucTempbuf[i];
                            g_ucTempbufid[i]=temp;
                            printf("%X",temp);
                            }
                                                    status = PcdSelect(g_ucTempbuf);//选定卡片
                            if (status != MI_OK)
                            {   printf("寻卡失败2");  continue;           }
                                     
                            
                            status = PcdAuthState(PICC_AUTHENT1A, 1, DefaultKey, g_ucTempbuf);//验证卡片密码
                            if (status != MI_OK)
                            {           printf("寻卡失败3");   continue;  }

                                            

                            status = PcdRead(1, g_ucTempbuf);//读块
                            if (status != MI_OK)
                            {          printf("寻卡失败4");    continue;  }
                                                                    
                            printf("卡读块:");        //超级终端显示,
                            for(i=0;i<16;i++)
                            {
                                    temp=g_ucTempbuf[i];
                                    printf("%X",temp);
                            }
                            num=0;
                            for(i=0;i<16;i++)
                            {
                                    if(data1[i]==g_ucTempbuf[i])
                                    {num++;}
                                    
                                    printf("\nnum %d\n",num);
                            }
                                            
                            if(num!=16)
                            {
                                    err_num++;
                                    if(err_num<3)
                                    {                                        
                                            //不开门
                                            show_flag=4;
                                            kg_flag=0;
                                            open_flag=2;
                                            printf("downflag%d\n",down_flag);
                                            TIM_Cmd(TIM4, ENABLE);  //使能TIMx        
                                    }
                            }
                            else
                            {
                            //开门
                                    err_num=0;
                                    show_flag=5;
                                    kg_flag=0;
                                    open_flag=1;
                                    TIM_Cmd(TIM4, ENABLE);  //使能TIMx        
                                    GPIO_SetBits(GPIOB,GPIO_Pin_11);

                            }
                    }
                    
                            //printf("\n");                                          
                    
                    PcdHalt();
            }
            
            else if(key_flag==1)
            {
    
                    TIM_Cmd(TIM2, DISABLE);  //使能TIMx        
  TIM_Cmd(TIM4, DISABLE);  //使能TIMx        
                    GPIO_ResetBits(GPIOB,GPIO_Pin_11);
  GPIO_ResetBits(GPIOB,GPIO_Pin_0);
                    show_flag=2;
                    status = PcdRequest(PICC_REQALL, g_ucTempbuf);//寻卡
                    if (status != MI_OK)
                    {    
                            PcdReset();
                            PcdAntennaOff(); 
                            PcdAntennaOn(); 
                            key_flag=1;                printf("寻卡失败111\r\n");RC522_flag1=1;

                            continue;
                            

                    }
                    if(RC522_flag1==1)
                    {
                            RC522_flag3=0;
                            RC522_flag1=0;
                            printf("1231231231312312312312312312\r\n");

                            printf("卡的类型:");
                            for(i=0;i<2;i++)
                            {
                            temp=g_ucTempbuf[i];
                            printf("%X",temp);
                            }
                            
                            status = PcdAnticoll(g_ucTempbuf);//防冲撞                
                            if(status != MI_OK)
                            {  
                                    printf("防冲撞失败");
                             
                            }
                            else
                            {
                                                                                                            
                                    printf("卡序列号:");        //超级终端显示,
                                    for(i=0;i<4;i++)
                                    {
                                            temp=g_ucTempbuf[i];
                                            printf("%X",temp);

                                    }

                                    status = PcdSelect(g_ucTempbuf);//选定卡片
                                    if (status != MI_OK)
                                    {    
                                            printf("选定卡失败");   

                                    }
                                    else
                                    {        
                                            status = PcdAuthState(PICC_AUTHENT1A, 1, DefaultKey, g_ucTempbuf);//验证卡片密码
                                            if (status != MI_OK)
                                            {    
                                                    printf("密码错误");

                                            }
                                            else
                                            {
                                                    status = PcdWrite(1, data1);//写块
                                                    if (status != MI_OK)
                                                    {    
                                                            printf("写错");
                                                                     
                                                    }
                                                    else
                                                    {                

                                                            
                                                                    key_flag=3;
                                                                    show_flag=6;                                                
              tim2_flag=0;
                                                                    TIM_Cmd(TIM2, ENABLE);  //使能TIMx                                                                                                                                         
                                                    }                                                        
                                            }                                                        
                                    }                                                
                            }                
             
                    
                    }

        PcdHalt();

//
//RC522_flag1=1;

            }
            else if(key_flag==2)
            {
                                     TIM_Cmd(TIM2, DISABLE);  //使能TIMx        
 TIM_Cmd(TIM4, DISABLE);  //使能TIMx        
                                            GPIO_ResetBits(GPIOB,GPIO_Pin_11);
  GPIO_ResetBits(GPIOB,GPIO_Pin_0);
                    show_flag=3;
                    status = PcdRequest(PICC_REQALL, g_ucTempbuf);//寻卡
                    if (status != MI_OK)
                    {    
                            PcdReset();
                            PcdAntennaOff(); 
                            PcdAntennaOn(); 
                            printf("寻卡失败\r\n");
                            key_flag=2;
                            RC522_flag2=1;
                            continue;
                    }
                    if(RC522_flag2==1)
                    {
                            RC522_flag3=0;
                            RC522_flag2=0;printf("1231231231312312312312312312\r\n");

                            printf("卡的类型:");
                            for(i=0;i<2;i++)
                            {
                                    temp=g_ucTempbuf[i];
                                    printf("%X",temp);
                            }                                
                            status = PcdAnticoll(g_ucTempbuf);//防冲撞                
                            if(status != MI_OK)
                            {  
                                    printf("防冲撞失败");

                            }
                            else
                            {                                                        
                                    printf("卡序列号:");        //超级终端显示,
                                    for(i=0;i<4;i++)
                                    {
                                            temp=g_ucTempbuf[i];
                                            printf("%X",temp);

                                    }                                                
                                    status = PcdSelect(g_ucTempbuf);//选定卡片
                                    if (status != MI_OK)
                                    {    
                                            printf("选定卡失败");   

                                    }
                                    else
                                    {        
                                            status = PcdAuthState(PICC_AUTHENT1A, 1, DefaultKey, g_ucTempbuf);//验证卡片密码
                                            if (status != MI_OK)
                                            {    
                                                    printf("密码错误");
                                                     
                                            }
                                            else
                                            {
                                                    status = PcdWrite(1, dataerr);//写块
                                                    if (status != MI_OK)
                                                    {    
                                                            printf("写错");
                                                            
                                                    }
                                                    else
                                                    {                                
            
                                                            key_flag=3; 
                                                            show_flag=7;        
                                                            tim2_flag=0;
                                                            TIM_Cmd(TIM2, ENABLE);  //使能TIMx        
                                                 
                                                    }                                                
                                            }                                        
                                    }                        
                            }                                 
                    }
                    PcdHalt();
            
            }
            else if(key_flag==3)

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。**
[外链图片转存中…(img-zML0C4Hx-1715654356715)]
[外链图片转存中…(img-wkfiIwm4-1715654356716)]

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值