久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5219|回復: 2
收起左側(cè)

rc522的讀卡程序,主要實現(xiàn)讀卡功能 串口發(fā)送卡號

  [復制鏈接]
ID:541219 發(fā)表于 2019-7-19 17:23 | 顯示全部樓層 |閱讀模式
利用串口發(fā)送卡號

單片機源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"                           
  5. #include "lcd.h"
  6. #include "spi2.h"
  7. #include "rc522.h"
  8. #include "usb_lib.h"
  9. #include "hw_config.h"
  10. #include "usb_pwr.h"         



  11. unsigned char SN[4]; //卡號
  12. extern u8  IDA[10];
  13. extern u8  IDB[10];

  14. int main(void)
  15. {                        
  16.         u8 cmdb[2];
  17.         u8 status;
  18. //         u16 t;
  19. //        u16 len;        
  20. //        u16 times=0;   
  21.         u8 usbstatus=0;        
  22.   Stm32_Clock_Init(9);        //系統(tǒng)時鐘設(shè)置
  23.         uart_init(72,115200);        //串口初始化為115200
  24.         delay_init(72);                            //延時初始化
  25.         OUTPUT_Init();                         //輸出模塊初始化
  26.         LED_Init();                                  //初始化與LED連接的硬件接口
  27.          LCD_Init();                                //初始化LCD
  28.         SPI1_Init();
  29.   SPI1_SpeedSet(6); //APB1的256分頻
  30.          POINT_COLOR=RED;                //設(shè)置字體為紅色
  31.         LCD_ShowString(30,50,200,16,16,"WarShip STM32");        
  32.         LCD_ShowString(30,70,200,16,16,"USB Virtual USART TEST");        
  33.         LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
  34.         LCD_ShowString(30,110,200,16,16,"2015/1/28");  
  35.          LCD_ShowString(30,130,200,16,16,"USB Connecting...");//提示USB開始連接
  36.         delay_ms(1800);
  37.         USB_Port_Set(0);         //USB先斷開
  38.         delay_ms(700);
  39.         USB_Port_Set(1);        //USB再次連接
  40.          Set_USBClock();   
  41.          USB_Interrupts_Config();   
  42.          USB_Init();        
  43.         CLR_NFC_RST;
  44.         delay_ms(10);
  45.         SET_NFC_RST;
  46.         delay_ms(1);
  47.         PcdConfig('A');
  48.         delay_ms(1);
  49.         while(1)
  50.         {
  51.                         if(usbstatus!=bDeviceState)//USB連接狀態(tài)發(fā)生了改變.
  52.                         {
  53.                                         usbstatus=bDeviceState;//記錄新的狀態(tài)
  54.                                         if(usbstatus==CONFIGURED)
  55.                                         {
  56.                                                         POINT_COLOR=BLUE;
  57.                                                         LCD_ShowString(30,130,200,16,16,"USB Connected    ");//提示USB連接成功
  58.                                                         LED1=0;//DS1亮
  59.                                         }else
  60.                                         {
  61.                                                         POINT_COLOR=RED;
  62.                                                         LCD_ShowString(30,130,200,16,16,"USB disConnected ");//提示USB斷開
  63.                                                         LED1=1;//DS1滅
  64.                                         }
  65.                         }
  66.                         #if 1
  67.                         
  68.                         PcdConfig('A');
  69.                         delay_ms(1);
  70.                         cmdb[1] = 0x52;
  71.                         delay_ms(1);
  72.                         
  73.                         status = ComReqA(cmdb);
  74.                         if(status == MI_OK)
  75.                         {
  76.                                         LED0 = 0;
  77.                                         usb_printf("ID:%02x %02x %02x %02x\r\n",IDA[0],IDA[1],IDA[2],IDA[3]);//發(fā)送卡號
  78.                                         //printf("ID:%02x %02x %02x %02x\r\n",IDA[0],IDA[1],IDA[2],IDA[3]);//發(fā)送卡號
  79.                         }
  80.                         else LED0 = 1;
  81.                         delay_ms(10);
  82.                         
  83.                         #endif
  84.                         #if 1
  85.         
  86.                         PcdConfig('B');
  87.                         delay_ms(1);
  88.                         
  89.                         cmdb[1] = 0x08;
  90.                         status = ComReqB(cmdb);
  91.                         if(status == MI_OK)
  92.                         {
  93.                                         LED1 = 0;
  94.                                         usb_printf("ID:%02x %02x %02x %02x %02x\r\n",IDB[0],IDB[1],IDB[2],IDB[3],IDB[4]);
  95.                                         //printf("ID:%02x %02x %02x %02x %02x\r\n",IDB[0],IDB[1],IDB[2],IDB[3],IDB[4]);//發(fā)送卡號
  96.                         }      
  97.                         #endif
  98.                         CLR_NFC_RST;
  99.                         delay_ms(250);
  100.                         LED1 = 1;
  101.                         LED0 = 1;
  102.                         
  103.                         #if 0
  104.                         if(USB_USART_RX_STA&0x8000)
  105.                         {                                          
  106.                                         len=USB_USART_RX_STA&0x3FFF;//得到此次接收到的數(shù)據(jù)長度
  107.                                         printf("\r\n您發(fā)送的消息為:%d\r\n\r\n",len);
  108.                                         for(t=0;t<len;t++)
  109.                                         {
  110.                                                         USB_USART_SendData(USB_USART_RX_BUF[t]);//以字節(jié)方式,發(fā)送給USB
  111.                                         }
  112.                                         printf("\r\n\r\n");//插入換行
  113.                                         USB_USART_RX_STA=0;
  114.                         }
  115.                         else
  116.                         {
  117.                                         times++;
  118.                                         if(times%5000==0)
  119.                                         {
  120.                                                         usb_printf("\r\n戰(zhàn)艦STM32開發(fā)板USB虛擬串口實驗\r\n");
  121.                                                         usb_printf("正點原子@ALIENTEK\r\n\r\n");
  122.                                         }
  123.                                         if(times%200==0)usb_printf("請輸入數(shù)據(jù),以回車鍵結(jié)束\r\n");  
  124.                                         if(times%30==0)LED0=!LED0;//閃爍LED,提示系統(tǒng)正在運行.
  125.                                         delay_ms(10);   
  126.                         }
  127.                         #endif
  128.                
  129.         }
  130. }
復制代碼

所有資料51hei提供下載:
RC522_AB.7z (182.62 KB, 下載次數(shù): 68)



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:221340 發(fā)表于 2020-3-9 17:30 | 顯示全部樓層
非常漂亮
回復

使用道具 舉報

ID:930776 發(fā)表于 2021-6-1 16:48 | 顯示全部樓層
非常漂亮
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成年视频在线观看福利资源 | 黄色在线观看 | 精品一区二区三区在线观看国产 | 日韩成人高清 | 久久精品中文字幕 | 国产一区二区三区色淫影院 | 久久久久久久成人 | 精品久久久久久久久久 | h视频免费在线观看 | 国产视频福利在线观看 | 国产清纯白嫩初高生在线播放视频 | m豆传媒在线链接观看 | 中文字幕在线播放第一页 | 欧美成人精品二区三区99精品 | 免费观看黄 | 成人在线免费视频 | 久久久精品网 | 亚洲一区二区三区免费视频 | 一区二区三区视频在线观看 | 日本人爽p大片免费看 | 免费看黄色片 | 欧美一级艳情片免费观看 | 精品欧美一区二区在线观看视频 | 97伦理电影| 精品国产乱码久久久久久果冻传媒 | 蜜桃在线视频 | 欧美成视频| 欧美区在线 | 人人射人人草 | 国产一区二区三区四区五区加勒比 | 久久成人国产精品 | 羞羞网站在线免费观看 | 久久三级影院 | 一区视频在线播放 | 亚洲精品欧美精品 | 欧美国产日韩在线观看 | 一区二区三区免费观看 | www.9191| 精品视频一区二区三区 | 国产一区三区在线 | 久久噜噜噜精品国产亚洲综合 |