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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1504|回復: 1
打印 上一主題 下一主題
收起左側

幫忙看看這個讀取id卡號的單片機程序應該怎么寫?

[復制鏈接]
跳轉到指定樓層
樓主
ID:510170 發(fā)表于 2021-4-14 15:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. u32 idcard(u32 id)        //讀取id卡號
  2. {
  3.         u8 i;        
  4.         for(i=0; i<10; i++)        idbuf[i]=RX2_Buffer[i+1];//取其中10位存入讀內存
  5.         for(i=0; i<10; i++)        idbuf[i]=ascii_tohex(idbuf[i]);//ascii轉碼
  6.         idbuf[10]=(idbuf[0]<<4)|idbuf[1];//合并后運算出校驗碼
  7.         idbuf[11]=(idbuf[2]<<4)|idbuf[3];
  8.         idbuf[12]=(idbuf[4]<<4)|idbuf[5];
  9.         idbuf[13]=(idbuf[6]<<4)|idbuf[7];
  10.         idbuf[14]=(idbuf[8]<<4)|idbuf[9];               
  11.         idbuf[15]=idbuf[10]^idbuf[11]^idbuf[12]^idbuf[13]^idbuf[14];                //校驗碼                                       
  12.         id=(idbuf[2]*268435456)+(idbuf[3]*16777216)+(idbuf[4]*1048576)+(idbuf[5]*65536)+(idbuf[6]*4096)+(idbuf[7]*256)+(idbuf[8]*16)+idbuf[9];//轉10進制數(shù)以便分解顯示
  13.         return id;        
  14. }
復制代碼

我如果這樣寫,返回的卡號是這個樣子的。
02 33 30 30 30 34 37 37 39 30 39 07 03  //實際數(shù)據
00 00 00 00 00 00 00 00 00 00 //idbuf0-15的數(shù)據
00 00 00 00 00 00
30 30 31 36 37 31 34 31 36 32 //id經過分解后的數(shù)據

換成這樣寫
  1. void idcard(u32 id)        //讀取id卡號
  2. {
  3.         u8 i;
  4.         for(i=0; i<10; i++)        idbuf[i]=RX2_Buffer[i+1];//取其中10位存入讀內存
  5.         for(i=0; i<10; i++)        idbuf[i]=ascii_tohex(idbuf[i]);//ascii轉碼
  6.         idbuf[10]=(idbuf[0]<<4)|idbuf[1];//合并后運算出校驗碼
  7.         idbuf[11]=(idbuf[2]<<4)|idbuf[3];
  8.         idbuf[12]=(idbuf[4]<<4)|idbuf[5];
  9.         idbuf[13]=(idbuf[6]<<4)|idbuf[7];
  10.         idbuf[14]=(idbuf[8]<<4)|idbuf[9];               
  11.         idbuf[15]=idbuf[10]^idbuf[11]^idbuf[12]^idbuf[13]^idbuf[14];                //校驗碼                                       
  12.         id=(idbuf[2]*268435456)+(idbuf[3]*16777216)+(idbuf[4]*1048576)+(idbuf[5]*65536)+(idbuf[6]*4096)+(idbuf[7]*256)+(idbuf[8]*16)+idbuf[9];//轉10進制數(shù)以便分解顯示
  13. }
復制代碼

獲得的數(shù)據是這樣的
02 33 30 30 30 34 37 37 39 30 39 07 03  //實際數(shù)據
03 00 00 00 04 07 07 09 00 09 //idbuf0-15的數(shù)據
30 00 47 79 09 07
30 30 30 30 30 30 30 30 30 30 //id經過分解后的數(shù)據

請教大神錯在哪里呀。謝謝了。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:510170 發(fā)表于 2021-4-14 15:42 | 只看該作者
已解決,用第二種方案,把id號設為全局變量,直接分解id就可以了。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品免费看 | 玖玖国产精品视频 | 在线精品观看 | 国产成人99久久亚洲综合精品 | 国产精品1区2区3区 一区中文字幕 | 天天草天天操 | 天天玩天天操天天干 | 精品国产一区二区三区久久久蜜月 | 久久精品青青大伊人av | 羞羞视频在线免费 | 国产偷录叫床高潮录音 | 午夜在线| www.jizzjizz| 黄色成人免费看 | 精品久久久久久久人人人人传媒 | 精品国产免费一区二区三区五区 | 91国自产| 久久蜜桃精品 | 欧美精品一区二区三区蜜臀 | 欧美激情精品久久久久久变态 | 中国美女一级黄色片 | 九色一区 | www.日本三级 | 久久51 | 国产综合精品一区二区三区 | 成人午夜av | 91精品一区 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 国产区精品在线观看 | 久久av.com | 精品国产一区二区在线 | 久久亚洲视频网 | 欧美a区 | 福利片在线观看 | 精品在线观看入口 | 亚洲精品天堂 | av毛片 | 性色av一区 | 久久久高清| 宅男伊人 | 日韩免费一区二区 |