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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

AS608光學指紋模塊程序源碼與入門資料(51單片機版51hei首發)

  [復制鏈接]
跳轉到指定樓層
樓主
本帖最后由 超神NK 于 2018-8-5 20:54 編輯

8月3號更
關于AS608模塊,論壇也早有別人發過了,但是那些都是打包好的,我這個就是根據手冊把常用的功能都寫好,用戶根據需要自己選擇調用。我這個沒有按功能打包,都是一些基礎函數,需要用戶自行編寫打包,函數都有詳細注釋。
ps:波特率范圍手冊里面有介紹,還有串口接收最好用串口中斷函數,我這邊方邊調試就沒有用中斷,如果有其他問題,可留言,看到必回!
再ps一下,管理,求黑幣啊!

8月5號更新
壓縮包名稱后面有新字的,是今天新加了一些功能函數,采用結構體保存返回的數據。
記事本功能額flash沒有去寫,個人感覺沒什么用,都是串口操作好寫,明天更新RC522模塊的簡單說明以及程序,大神勿噴,本人也是一枚小白。
本來寫好了一些程序著想演示,無奈hex文件有點大,一縮再縮就沒有什么可演示的了。。。所以就不打算公開了!哈~






AS60x 指紋模塊 SOC 掛接必要的外圍電路(傳感器、晶振、電源等)后即可構成完整的指紋識別模塊,模塊始終處于從屬地位(Slave mode),主機(Host)需要通過不同的指令讓模塊完成各種功能。主機的指令、模塊的應答以及數據交換都是按照規定格式的數據包來進行的。主機必須按照下述格式封裝要發送的指令或數據,也必須按下述格式解析收到的數據包。
1. 指令包/數據包格式
指令/數據包共分為三類:
包標識=01 命令包
包標識=02 數據包,且有后續包
包標識=08 最后一個數據包,即結束包
所有的數據包都要加包頭:0xEF01

單片機源程序如下:
  1. /*
  2.         作者:超神NK
  3.         發處:51黑論壇
  4.         時間:2018年8月3號        

  5.         ps:純個人整理,都是根據手冊命名的函數,幫助小白學習,本人純手打,絕對沒有任何抄襲。(全網可查)
  6. */

  7. #include "AS608.h"


  8. uchar xdata Data_buff[MAX];


  9. void SendOneByte(unsigned char c)
  10. {
  11.     SBUF = c;
  12.     while(!TI);
  13.     TI = 0;
  14. }

  15. /* putchar 函數重寫 */
  16. char putchar(char c)
  17. {
  18.         SendOneByte(c);
  19.         return c;
  20. }

  21. //*******************************************  
  22. //函數名:Send_Bytes
  23. //功能:發送多個字節
  24. //參數:*c:首地址    len:長度
  25. //指令代碼:無
  26. //返回值:  無
  27. //*******************************************
  28. void Send_Bytes(uchar *c,uchar len)
  29. {
  30.         uchar i=0;
  31.         for(i=0;i<len;i++)
  32.         {
  33.             SBUF = *(c+i);
  34.             while(!TI);
  35.             TI = 0;
  36.         }
  37. }

  38. //*******************************************  
  39. //函數名:Send_Bytes
  40. //功能:接收多個字節
  41. //參數:*c:首地址    len:長度
  42. //指令代碼:無
  43. //返回值:  無
  44. //*******************************************
  45. void Receive_Bytes(uchar *c,uchar len)
  46. {
  47.         uchar i=0;
  48.         for(i=0;i<len;i++)
  49.         {
  50.                 while(!RI);
  51.             *(c+i)=SBUF;
  52.                 RI=0;
  53.     }        
  54. }




  55. //*******************************************  
  56. //函數名:PS_GetImage
  57. //功能:從傳感器上讀入圖像存于圖像緩沖區
  58. //參數:無
  59. //指令代碼:01H
  60. //返回值:有
  61. //*******************************************
  62. char PS_GetImage()
  63. {

  64.         uchar *ps2=     "\xef\x01\xff\xff\xff\xff\x01\x00\x03\x01\x00\x05";         //指令碼
  65.         
  66.         Send_Bytes(ps2,12);                       //發送指令碼
  67.         Receive_Bytes(Data_buff,12);   //接收應答包
  68.         
  69.         if(Data_buff[9]==0x00&&Data_buff[11]==0x0a)                   //判斷確認碼是否成功          后面為校驗和判斷
  70.         {                                                           
  71.                 return MI_OK;        
  72.         }
  73.         
  74.         return (-1);        
  75. }



  76. //*******************************************  
  77. //函數名:PS_GenChar
  78. //功能:將 ImageBuffer(圖像緩沖區) 中的原始圖像生成指紋特征文件存于 CharBuffer1 或 CharBuffer2
  79. //參數:BufferID(特征緩沖區號)
  80. //指令代碼:02H
  81. //返回值:有
  82. //*******************************************
  83. char PS_GenChar(uchar BufferID)
  84. {

  85.         uchar *ps1=     "\xef\x01\xff\xff\xff\xff\x01\x00\x04\x02\x01\x00\x08";         //存放CharBuffer1的指令碼
  86.         uchar *ps2=     "\xef\x01\xff\xff\xff\xff\x01\x00\x04\x02\x02\x00\x09";         //存放CharBuffer1的指令碼
  87.         if(BufferID==0x01)
  88.         {
  89.                 Send_Bytes(ps1,13);                       //發送指令碼
  90.         }
  91.         else
  92.         {
  93.                 Send_Bytes(ps2,13);                       //發送指令碼
  94.         }
  95.         
  96.         Receive_Bytes(Data_buff,12);   //接收應答包
  97.         
  98.         if(Data_buff[9]==0x00&&Data_buff[11]==0x0a)                   //判斷確認碼是否成功          后面為校驗和判斷
  99.         {                                                           
  100.                 return MI_OK;        
  101.         }
  102.         
  103.         return (-1);        
  104. }



  105. //*******************************************  
  106. //函數名:PS_Match
  107. //功能:精確比對 CharBuffer1 與 CharBuffer2 中的特征文件
  108. //參數:NULL
  109. //指令代碼:03H
  110. //返回值:有
  111. //*******************************************
  112. char PS_Match()
  113. {

  114.         uchar *ps1=     "\xef\x01\xff\xff\xff\xff\x01\x00\x03\x03\x00\x07";         //存放CharBuffer1的指令碼

  115.         Send_Bytes(ps1,12);                       //發送指令碼

  116.         
  117.         Receive_Bytes(Data_buff,14);   //接收應答包
  118.         
  119.         if(Data_buff[9]==0x00)                   //判斷確認碼是否成功         
  120.         {                                                           
  121.                 return MI_OK;        
  122.         }
  123.         
  124.         return (-1);        
  125. }



  126. //*******************************************  
  127. //函數名:PS_Search
  128. //功能:以 CharBuffer1 或 CharBuffer2 中的特征文件搜索整個或部分指紋庫。若搜索到,則返回頁碼
  129. //參數:BufferID, (StartPage(起始頁),PageNum(頁數))(默認從0到300全局搜索)
  130. //指令代碼:04H
  131. //返回值:確認碼、頁碼(ID)
  132. //*******************************************
  133. char PS_Search(uchar BufferID)
  134. {

  135.         uchar *ps1=     "\xef\x01\xff\xff\xff\xff\x01\x00\x08\x04\x01\x00\x00\x01\x2b\x00\x3a";         //存放CharBuffer1的指令碼
  136.         uchar *ps2=     "\xef\x01\xff\xff\xff\xff\x01\x00\x08\x04\x02\x00\x00\x01\x2b\x00\x3b";
  137.         

  138.         if(BufferID==0x01)
  139.         {
  140.                 Send_Bytes(ps1,17);                       //發送指令碼
  141.         }
  142.         else
  143.         {
  144.                 Send_Bytes(ps2,17);                       //發送指令碼
  145.         }
  146.         

  147.                
  148.         Receive_Bytes(Data_buff,16);   //接收應答包
  149.         
  150.         write_com(0x8a);
  151.         wstring("應答成功...");

  152.         if(Data_buff[9]==0x00)                   //判斷確認碼是否成功         
  153.         {                                                           
  154.                 return MI_OK;        
  155.         }
  156.         
  157.         return (1);        
  158. }



  159. //*******************************************  
  160. //函數名:PS_RegModel
  161. //功能:將 CharBuffer1 與 CharBuffer2 中的特征文件合并生成模板,結果存于 CharBuffer1 與 CharBuffer2
  162. //參數:NULL
  163. //指令代碼:05H
  164. //返回值:確認碼
  165. //*******************************************
  166. char PS_RegModel()
  167. {

  168.         uchar *ps1=     "\xef\x01\xff\xff\xff\xff\x01\x00\x03\x05\x00\x09";         //存放CharBuffer1的指令碼
  169.         

  170.         Send_Bytes(ps1,12);                       //發送指令碼

  171.         
  172.         Receive_Bytes(Data_buff,12);   //接收應答包
  173.         
  174.         if(Data_buff[9]==0x00)                   //判斷確認碼是否成功         
  175.         {                                                           
  176.                 return MI_OK;        
  177.         }
  178.         
  179.         return (-1);        
  180. }



  181. //*******************************************  
  182. //函數名:PS_StoreChar
  183. //功能:將 CharBuffer1 或 CharBuffer2 中的模板文件存到 PageID 號flash 數據庫位置
  184. //參數:BufferID(緩沖區號),PageID(指紋庫位置號)
  185. //指令代碼:06H
  186. //返回值:確認碼
  187. //*******************************************
  188. char PS_StoreChar(uchar BufferID,uint PageID)
  189. {

  190.         uint sum=0x000d;
  191.         uchar ps1[]="\xef\x01\xff\xff\xff\xff\x01\x00\x06\x06\x01\x00\x00\x00\x00";         //存放CharBuffer1的指令碼
  192.         uchar ps2[]="\xef\x01\xff\xff\xff\xff\x01\x00\x06\x06\x02\x00\x00\x00\x00";

  193.         if(BufferID==0x01)
  194.         {
  195.                 sum+=0x01;
  196.                 ps1[11]=PageID/256;
  197.                 ps1[12]=PageID%256;
  198.                 sum+=ps1[11];
  199.                 sum+=ps1[12];
  200.                 ps1[13]=sum/256;
  201.                 ps1[14]=sum%256;
  202.                 Send_Bytes(ps1,15);                       //發送指令碼
  203.         }
  204.         else
  205.         {
  206.                 sum+=0x02;
  207.                 ps2[11]=PageID/256;
  208.                 ps2[12]=PageID%256;
  209.                 sum+=ps2[11];
  210.                 sum+=ps2[12];
  211.                 ps2[13]=sum/256;
  212.                 ps2[14]=sum%256;
  213.                 Send_Bytes(ps2,15);                       //發送指令碼
  214.         }

  215.         
  216.         Receive_Bytes(Data_buff,12);   //接收應答包
  217.         
  218.         if(Data_buff[9]==0x00&&Data_buff[11]==0x0a)                   //判斷確認碼是否成功         
  219.         {        
  220. //                Send_Bytes(Data_buff,12);                                                   
  221.                 return MI_OK;                        
  222.         }

  223.         return 1;        
  224. }



  225. //*******************************************  
  226. //函數名:PS_LoadChar
  227. //功能:將 flash 數據庫中指定 ID 號的指紋模板讀入到模板緩沖區 CharBuffer1 或 CharBuffer2
  228. //參數:BufferID(緩沖區號),PageID(指紋庫模板號)
  229. //指令代碼:07H
  230. //返回值:確認碼
  231. //*******************************************
  232. char PS_LoadChar(uchar BufferID,uint PageID)
  233. {
  234.         uint sum=0x000e;
  235.         uchar ps1[]="\xef\x01\xff\xff\xff\xff\x01\x00\x06\x07\x01\x00\x00\x00\x09";         //存放CharBuffer1的指令碼
  236.         uchar ps2[]="\xef\x01\xff\xff\xff\xff\x01\x00\x06\x07\x02\x00\x00\x00\x09";

  237.         if(BufferID==0x01)
  238.         {
  239.                 sum+=0x01;
  240.                 ps1[11]=PageID/256;
  241.                 ps1[12]=PageID%256;
  242.                 sum+=ps1[11];
  243.                 sum+=ps1[12];
  244.                 ps1[13]=sum/256;
  245.                 ps1[14]=sum%256;
  246.                
  247.                 Send_Bytes(ps1,15);                       //發送指令碼
  248.         }
  249.         else
  250.         {
  251.                 sum+=0x02;
  252.                 ps2[11]=PageID/256;
  253.                 ps2[12]=PageID%256;
  254.                 sum+=ps2[11];
  255.                 sum+=ps2[12];
  256.                 ps2[13]=sum/256;
  257.                 ps2[14]=sum%256;
  258.                
  259.                 Send_Bytes(ps2,15);
  260.         }
  261.         
  262.         Receive_Bytes(Data_buff,12);   //接收應答包
  263.         
  264.         if(Data_buff[9]==0x00)                   //判斷確認碼是否成功         
  265.         {                                                           
  266.                 return MI_OK;        
  267.         }
  268.         
  269.         return (-1);        
  270. }



  271. //*******************************************  
  272. //函數名:PS_Empty
  273. //功能:刪除 flash 數據庫中所有指紋模板
  274. //參數:NULL
  275. //指令代碼:0dH
  276. //返回值:確認碼
  277. //*******************************************
  278. char PS_Empty()
  279. {
  280.         uchar ps1[]="\xef\x01\xff\xff\xff\xff\x01\x00\x03\x0d\x00\x11";         //存放CharBuffer1的指令碼


  281.         Send_Bytes(ps1,12);                       //發送指令碼

  282.         
  283.         Receive_Bytes(Data_buff,12);   //接收應答包
  284.         
  285.         if(Data_buff[9]==0x00)                   //判斷確認碼是否成功         
  286.         {                                                           
  287.                 return MI_OK;        
  288.         }
  289.         
  290.         return (-1);        
  291. }



  292. //*******************************************  
  293. //函數名:PS_VfyPwd
  294. //功能: 驗證模塊握手口令
  295. //參數:NULL
  296. //指令代碼:13H
  297. //返回值:確認碼
  298. //*******************************************
  299. char PS_VfyPwd()
  300. {
  301.         uchar ps1[]="\xef\x01\xff\xff\xff\xff\x01\x00\x07\x13\x00\x00\x00\x00\x1b";         //存放CharBuffer1的指令碼


  302.         Send_Bytes(ps1,16);                       //發送指令碼

  303.         Receive_Bytes(Data_buff,12);   //接收應答包
  304.         
  305.         if(Data_buff[9]==0x00)                   //判斷確認碼是否成功         
  306.         {                                
  307.                                    
  308.                 return MI_OK;        
  309.         }
  310.         
  311.         return (-1);        
  312. }





  313. //*******************************************  
  314. //函數名:PS_Enroll
  315. //功能: 采集一次指紋注冊模板,在指紋庫中搜索空位并存儲,返回存儲ID
  316. //參數:NULL
  317. //指令代碼:10H
  318. //返回值:確認碼  頁碼(相配指紋模板)
  319. //*******************************************
  320. char PS_Enroll()
  321. {
  322.         uchar ps1[]="\xef\x01\xff\xff\xff\xff\x01\x00\x03\x10\x00\x14";         //存放CharBuffer1的指令碼

  323. ……………………

  324. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
  1. /*
  2.         作者:超神NK
  3.         發處:51黑論壇
  4.         時間:2018年8月3號        

  5.         ps:純個人整理,都是根據手冊命名的函數,幫助小白學習,本人純手打,絕對沒有任何抄襲。(全網可查)
  6. */


  7. #ifndef _AS608_H_


  8. #include "stc12c5a60s2.h"
  9. #include "intrins.h"
  10. #include "stdio.h"

  11. #ifndef uchar
  12. #define uchar unsigned char
  13. #endif

  14. #ifndef uint
  15. #define uint  unsigned int
  16. #endif
  17.         
  18.         
  19. #define MAX 64      //定義最大接收多少字節數據
  20. /*錯誤碼*/
  21. #define MI_OK                          0
  22. #define MI_NOTAGERR                    (-1)
  23. #define MI_ERR                         (-2)


  24. /*確認碼*/         /*
  25. 1. 00h:表示指令執行完畢或 OK;
  26. 2. 01h:表示數據包接收錯誤;
  27. 3. 02h:表示傳感器上沒有手指;
  28. 4. 03h:表示錄入指紋圖像失敗;
  29. 5. 04h:表示指紋圖像太干、太淡而生不成特征;
  30. 6. 05h:表示指紋圖像太濕、太糊而生不成特征;
  31. 7. 06h:表示指紋圖像太亂而生不成特征;
  32. 8. 07h:表示指紋圖像正常,但特征點太少(或面積太小)而生不成特征;
  33. 9. 08h:表示指紋不匹配;
  34. 10. 09h:表示沒搜索到指紋;
  35. 11. 0ah:表示特征合并失敗;
  36. 12. 0bh:表示訪問指紋庫時地址序號超出指紋庫范圍;
  37. 13. 0ch:表示從指紋庫讀模板出錯或無效;
  38. 14. 0dh:表示上傳特征失敗;
  39. 15. 0eh:表示模塊不能接受后續數據包;
  40. 16. 0fh:表示上傳圖像失敗;
  41. 17. 10h:表示刪除模板失敗;
  42. 18. 11h:表示清空指紋庫失敗;
  43. 19. 12h:表示不能進入低功耗狀態;
  44. 20. 13h:表示口令不正確;
  45. 21. 14h:表示系統復位失敗;
  46. 22. 15H:表示緩沖區內沒有有效原始圖而生不成圖像;
  47. 23. 16H:表示在線升級失敗;
  48. 24. 17H:表示殘留指紋或兩次采集之間手指沒有移動過;
  49. 25. 18H:表示讀寫 FLASH 出錯;
  50. 26. 0xf0:有后續數據包的指令,正確接收后用 0xf0 應答;
  51. 27. 0xf1:有后續數據包的指令,命令包用 0xf1 應答;
  52. 28. 0xf2:表示燒寫內部 FLASH 時,校驗和錯誤;
  53. 29. 0xf3:表示燒寫內部 FLASH 時,包標識錯誤;
  54. 30. 0xf4:表示燒寫內部 FLASH 時,包長度錯誤;
  55. 31. 0xf5:表示燒寫內部 FLASH 時,代碼長度太長;
  56. 32. 0xf6:表示燒寫內部 FLASH 時,燒寫 FLASH 失敗;
  57. 33. 0x19:未定義錯誤;
  58. 34. 0x1a:無效寄存器號;
  59. 35. 0x1b:寄存器設定內容錯誤號;
  60. 36. 0x1c:記事本頁碼指定錯誤;
  61. 37. 0x1d:端口操作失敗;
  62. 38. 0x1e:自動注冊(enroll)失敗;
  63. 39. 0x1f:指紋庫滿
  64. 40. 0x20—0xefh:Reserved。
  65. */


  66. /**/
  67. void SendOneByte(unsigned char c);
  68. void Send_Bytes(uchar *c,uchar len);
  69. char PS_GetImage();
  70. char PS_GenChar(uchar BufferID);
  71. char PS_Match();
  72. char PS_Search(uchar BufferID);
  73. char PS_RegModel();
  74. char PS_StoreChar(uchar BufferID,uint PageID);
  75. char PS_LoadChar(uchar BufferID,uint PageID);
  76. char PS_Empty();
  77. char PS_VfyPwd();
  78. char PS_Enroll();
  79. char PS_Identify();


  80. char PS_StoreChar(uchar BufferID,uint PageID);

  81. #endif
復制代碼

所有資料51hei提供下載:
AS608相關資料與程序.rar (467.7 KB, 下載次數: 636)


AS608(新).rar

4.87 KB, 下載次數: 473, 下載積分: 黑幣 -5

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏11 分享淘帖 頂2 踩
回復

使用道具 舉報

沙發
ID:393814 發表于 2018-9-6 23:00 | 只看該作者
認真學習!感覺樓主分享!
回復

使用道具 舉報

板凳
ID:52915 發表于 2018-9-19 18:02 | 只看該作者
正在學習AS608,非常好,多謝!
回復

使用道具 舉報

地板
ID:333834 發表于 2018-9-25 17:44 | 只看該作者
樓主您好!請問AS608怎么讀取ImageBuffer中的指紋原圖像呢?
回復

使用道具 舉報

5#
ID:242606 發表于 2018-10-1 22:59 | 只看該作者
正在學習as608
回復

使用道具 舉報

6#
ID:384234 發表于 2018-10-9 21:59 | 只看該作者
as680集成模塊好用么
回復

使用道具 舉報

7#
ID:99693 發表于 2018-10-10 15:40 | 只看該作者
好東西拿出分享是一種美德
回復

使用道具 舉報

8#
ID:170892 發表于 2018-10-20 14:55 | 只看該作者
yingjiehan 發表于 2018-10-9 21:59
as680集成模塊好用么

個人用是沒什么問題的,采樣要多對比幾次,要不有時候手指不識別。(采樣的時候最好采樣5次,手指偏上、偏下,中間,偏左,偏右)
回復

使用道具 舉報

9#
ID:420816 發表于 2018-11-4 23:28 | 只看該作者
最近準備寫寫指紋的課程設計,參考一下,謝了
回復

使用道具 舉報

10#
ID:420816 發表于 2018-11-4 23:29 | 只看該作者
最近準備寫相關的課程設計,參考一下先
回復

使用道具 舉報

11#
ID:428969 發表于 2018-11-19 01:43 | 只看該作者
謝謝樓主的熱情分享
回復

使用道具 舉報

12#
ID:459659 發表于 2019-1-7 16:59 | 只看該作者
好東西
回復

使用道具 舉報

13#
ID:468545 發表于 2019-1-15 15:04 | 只看該作者
AS608上位機提示校驗和錯,怎么處理
回復

使用道具 舉報

14#
ID:375732 發表于 2019-1-15 19:43 | 只看該作者
正需要呢 謝謝樓主分享
回復

使用道具 舉報

15#
ID:220421 發表于 2019-1-21 08:41 | 只看該作者
謝謝分享
回復

使用道具 舉報

16#
ID:292518 發表于 2019-1-25 14:58 | 只看該作者
好東西拿出分享是一種美德
回復

使用道具 舉報

17#
ID:390243 發表于 2019-1-26 13:13 | 只看該作者
樓主,請問在使用as608和51通信的時候是直接連在單片機的30.31口的嗎?為什么我使用的時候單片機接收模塊返回的指令時,單片機無法識別這個指令?造成程序陷在死循環了。
回復

使用道具 舉報

18#
ID:473525 發表于 2019-1-29 10:49 | 只看該作者
正在學習,參考下
回復

使用道具 舉報

19#
ID:355095 發表于 2019-3-2 23:32 | 只看該作者
我想問問代碼里面的 TI RT 是什么
回復

使用道具 舉報

20#
ID:485297 發表于 2019-3-6 00:38 | 只看該作者
謝謝分享
回復

使用道具 舉報

21#
ID:290578 發表于 2019-4-2 23:52 | 只看該作者
感謝樓主分享,我參考一下。
回復

使用道具 舉報

22#
ID:507944 發表于 2019-4-10 12:47 | 只看該作者
好東西一起分享
回復

使用道具 舉報

23#
ID:516808 發表于 2019-4-19 22:42 | 只看該作者
正在學習AS608,非常好,多謝!
回復

使用道具 舉報

24#
ID:495929 發表于 2019-5-15 17:15 | 只看該作者
正在學習AS608,非常好,多謝!
回復

使用道具 舉報

25#
ID:128880 發表于 2019-7-31 13:33 | 只看該作者
謝謝分享
回復

使用道具 舉報

26#
ID:503167 發表于 2019-8-19 09:51 | 只看該作者
感謝樓主提供思路
回復

使用道具 舉報

27#
ID:602079 發表于 2019-8-20 18:32 | 只看該作者
好東西,下載來學習一下
回復

使用道具 舉報

28#
ID:334202 發表于 2019-10-14 19:17 | 只看該作者
可以可以很不錯
回復

使用道具 舉報

29#
ID:297735 發表于 2019-10-15 21:26 | 只看該作者
好東西呀  看看  謝謝樓主
回復

使用道具 舉報

30#
ID:297735 發表于 2019-10-15 21:27 | 只看該作者
好東西哦  謝謝樓主分享
回復

使用道具 舉報

31#
ID:691724 發表于 2020-4-16 21:27 | 只看該作者
程序很完整,值得參考
回復

使用道具 舉報

32#
ID:733567 發表于 2020-4-20 15:15 | 只看該作者
認真學習!感覺樓主分享!
回復

使用道具 舉報

33#
ID:726311 發表于 2020-4-22 08:23 | 只看該作者
下載下來頭文件都沒
回復

使用道具 舉報

34#
ID:469448 發表于 2020-5-10 14:43 | 只看該作者
感謝分享
回復

使用道具 舉報

35#
ID:691724 發表于 2020-5-10 22:41 | 只看該作者
正在學習AS608,非常好,多謝!
回復

使用道具 舉報

36#
ID:744356 發表于 2020-5-11 12:42 | 只看該作者
感謝,非常好
回復

使用道具 舉報

37#
ID:703680 發表于 2020-5-27 12:44 來自手機 | 只看該作者
樓主可以加個聯系方式請教一下嗎?
回復

使用道具 舉報

38#
ID:842343 發表于 2021-12-25 16:19 | 只看該作者
LOGLOG6 發表于 2019-1-26 13:13
樓主,請問在使用as608和51通信的時候是直接連在單片機的30.31口的嗎?為什么我使用的時候單片機接收模塊返 ...

兄弟解決這個問題了么,我也遇到了這個問題
回復

使用道具 舉報

39#
ID:1003116 發表于 2022-1-22 18:59 | 只看該作者

正在學習as608
回復

使用道具 舉報

40#
ID:1009187 發表于 2022-3-9 13:56 | 只看該作者
感謝樓主,正在嘗試學習
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99精品国自产在线 | 国产精品久久久久久久久久软件 | 成人精品国产免费网站 | 国际精品久久 | www精品美女久久久tv | 成人激情免费视频 | 怡红院怡春院一级毛片 | 作爱视频免费观看 | 女女爱爱视频 | 中文天堂在线观看 | 欧美成人一区二区 | 欧美日韩精品一区二区天天拍 | 中文精品视频 | 最新超碰 | 亚洲国产精品人人爽夜夜爽 | av毛片在线免费观看 | 国产精品区一区二区三区 | 国产精品久久国产精品 | 97视频在线看 | 亚洲一区二区三区免费在线观看 | 日本精品一区二区三区在线观看视频 | 日日夜夜操天天干 | 一级黄色在线 | 日韩色图视频 | www.99精品| 成人激情视频免费在线观看 | 久久久久久国产精品免费免费 | 国产美女免费视频 | 久久免费大片 | 国产精品久久久久久婷婷天堂 | 成人自拍视频 | 亚洲国产情侣自拍 | 欧美天堂在线观看 | 在线一区二区国产 | 一区二区精品在线 | 成人高潮片免费视频欧美 | 91麻豆蜜桃一区二区三区 | 成人国产精品免费观看 | 麻豆av一区二区三区久久 | 天天人人精品 | 欧美一区二区 |