標(biāo)題: AS608光學(xué)指紋模塊程序源碼與入門資料(51單片機(jī)版51hei首發(fā)) [打印本頁(yè)]

作者: 超神NK    時(shí)間: 2018-8-3 09:50
標(biāo)題: AS608光學(xué)指紋模塊程序源碼與入門資料(51單片機(jī)版51hei首發(fā))
本帖最后由 超神NK 于 2018-8-5 20:54 編輯

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

8月5號(hào)更新
壓縮包名稱后面有新字的,是今天新加了一些功能函數(shù),采用結(jié)構(gòu)體保存返回的數(shù)據(jù)。
記事本功能額flash沒(méi)有去寫,個(gè)人感覺(jué)沒(méi)什么用,都是串口操作好寫,明天更新RC522模塊的簡(jiǎn)單說(shuō)明以及程序,大神勿噴,本人也是一枚小白。
本來(lái)寫好了一些程序著想演示,無(wú)奈hex文件有點(diǎn)大,一縮再縮就沒(méi)有什么可演示的了。。。所以就不打算公開(kāi)了!哈~






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

單片機(jī)源程序如下:
  1. /*
  2.         作者:超神NK
  3.         發(fā)處:51黑論壇
  4.         時(shí)間:2018年8月3號(hào)        

  5.         ps:純個(gè)人整理,都是根據(jù)手冊(cè)命名的函數(shù),幫助小白學(xué)習(xí),本人純手打,絕對(duì)沒(méi)有任何抄襲。(全網(wǎng)可查)
  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 函數(shù)重寫 */
  16. char putchar(char c)
  17. {
  18.         SendOneByte(c);
  19.         return c;
  20. }

  21. //*******************************************  
  22. //函數(shù)名:Send_Bytes
  23. //功能:發(fā)送多個(gè)字節(jié)
  24. //參數(shù):*c:首地址    len:長(zhǎng)度
  25. //指令代碼:無(wú)
  26. //返回值:  無(wú)
  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. //函數(shù)名:Send_Bytes
  40. //功能:接收多個(gè)字節(jié)
  41. //參數(shù):*c:首地址    len:長(zhǎng)度
  42. //指令代碼:無(wú)
  43. //返回值:  無(wú)
  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. //函數(shù)名:PS_GetImage
  57. //功能:從傳感器上讀入圖像存于圖像緩沖區(qū)
  58. //參數(shù):無(wú)
  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);                       //發(fā)送指令碼
  67.         Receive_Bytes(Data_buff,12);   //接收應(yīng)答包
  68.         
  69.         if(Data_buff[9]==0x00&&Data_buff[11]==0x0a)                   //判斷確認(rèn)碼是否成功          后面為校驗(yàn)和判斷
  70.         {                                                           
  71.                 return MI_OK;        
  72.         }
  73.         
  74.         return (-1);        
  75. }



  76. //*******************************************  
  77. //函數(shù)名:PS_GenChar
  78. //功能:將 ImageBuffer(圖像緩沖區(qū)) 中的原始圖像生成指紋特征文件存于 CharBuffer1 或 CharBuffer2
  79. //參數(shù):BufferID(特征緩沖區(qū)號(hào))
  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);                       //發(fā)送指令碼
  90.         }
  91.         else
  92.         {
  93.                 Send_Bytes(ps2,13);                       //發(fā)送指令碼
  94.         }
  95.         
  96.         Receive_Bytes(Data_buff,12);   //接收應(yīng)答包
  97.         
  98.         if(Data_buff[9]==0x00&&Data_buff[11]==0x0a)                   //判斷確認(rèn)碼是否成功          后面為校驗(yàn)和判斷
  99.         {                                                           
  100.                 return MI_OK;        
  101.         }
  102.         
  103.         return (-1);        
  104. }



  105. //*******************************************  
  106. //函數(shù)名:PS_Match
  107. //功能:精確比對(duì) CharBuffer1 與 CharBuffer2 中的特征文件
  108. //參數(shù):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);                       //發(fā)送指令碼

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



  126. //*******************************************  
  127. //函數(shù)名:PS_Search
  128. //功能:以 CharBuffer1 或 CharBuffer2 中的特征文件搜索整個(gè)或部分指紋庫(kù)。若搜索到,則返回頁(yè)碼
  129. //參數(shù):BufferID, (StartPage(起始頁(yè)),PageNum(頁(yè)數(shù)))(默認(rèn)從0到300全局搜索)
  130. //指令代碼:04H
  131. //返回值:確認(rèn)碼、頁(yè)碼(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);                       //發(fā)送指令碼
  141.         }
  142.         else
  143.         {
  144.                 Send_Bytes(ps2,17);                       //發(fā)送指令碼
  145.         }
  146.         

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

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



  159. //*******************************************  
  160. //函數(shù)名:PS_RegModel
  161. //功能:將 CharBuffer1 與 CharBuffer2 中的特征文件合并生成模板,結(jié)果存于 CharBuffer1 與 CharBuffer2
  162. //參數(shù):NULL
  163. //指令代碼:05H
  164. //返回值:確認(rèn)碼
  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);                       //發(fā)送指令碼

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



  181. //*******************************************  
  182. //函數(shù)名:PS_StoreChar
  183. //功能:將 CharBuffer1 或 CharBuffer2 中的模板文件存到 PageID 號(hào)flash 數(shù)據(jù)庫(kù)位置
  184. //參數(shù):BufferID(緩沖區(qū)號(hào)),PageID(指紋庫(kù)位置號(hào))
  185. //指令代碼:06H
  186. //返回值:確認(rèn)碼
  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);                       //發(fā)送指令碼
  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);                       //發(fā)送指令碼
  214.         }

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

  223.         return 1;        
  224. }



  225. //*******************************************  
  226. //函數(shù)名:PS_LoadChar
  227. //功能:將 flash 數(shù)據(jù)庫(kù)中指定 ID 號(hào)的指紋模板讀入到模板緩沖區(qū) CharBuffer1 或 CharBuffer2
  228. //參數(shù):BufferID(緩沖區(qū)號(hào)),PageID(指紋庫(kù)模板號(hào))
  229. //指令代碼:07H
  230. //返回值:確認(rèn)碼
  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);                       //發(fā)送指令碼
  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);   //接收應(yīng)答包
  263.         
  264.         if(Data_buff[9]==0x00)                   //判斷確認(rèn)碼是否成功         
  265.         {                                                           
  266.                 return MI_OK;        
  267.         }
  268.         
  269.         return (-1);        
  270. }



  271. //*******************************************  
  272. //函數(shù)名:PS_Empty
  273. //功能:刪除 flash 數(shù)據(jù)庫(kù)中所有指紋模板
  274. //參數(shù):NULL
  275. //指令代碼:0dH
  276. //返回值:確認(rèn)碼
  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);                       //發(fā)送指令碼

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



  292. //*******************************************  
  293. //函數(shù)名:PS_VfyPwd
  294. //功能: 驗(yàn)證模塊握手口令
  295. //參數(shù):NULL
  296. //指令代碼:13H
  297. //返回值:確認(rèn)碼
  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);                       //發(fā)送指令碼

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





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

  323. ……………………

  324. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
  1. /*
  2.         作者:超神NK
  3.         發(fā)處:51黑論壇
  4.         時(shí)間:2018年8月3號(hào)        

  5.         ps:純個(gè)人整理,都是根據(jù)手冊(cè)命名的函數(shù),幫助小白學(xué)習(xí),本人純手打,絕對(duì)沒(méi)有任何抄襲。(全網(wǎng)可查)
  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      //定義最大接收多少字節(jié)數(shù)據(jù)
  20. /*錯(cuò)誤碼*/
  21. #define MI_OK                          0
  22. #define MI_NOTAGERR                    (-1)
  23. #define MI_ERR                         (-2)


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

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


AS608(新).rar

4.87 KB, 下載次數(shù): 473, 下載積分: 黑幣 -5


作者: dove51    時(shí)間: 2018-9-6 23:00
認(rèn)真學(xué)習(xí)!感覺(jué)樓主分享!
作者: zzz116    時(shí)間: 2018-9-19 18:02
正在學(xué)習(xí)AS608,非常好,多謝!
作者: 51learning    時(shí)間: 2018-9-25 17:44
樓主您好!請(qǐng)問(wèn)AS608怎么讀取ImageBuffer中的指紋原圖像呢?

作者: gesed    時(shí)間: 2018-10-1 22:59
正在學(xué)習(xí)as608
作者: yingjiehan    時(shí)間: 2018-10-9 21:59
as680集成模塊好用么

作者: 風(fēng)一樣的男子    時(shí)間: 2018-10-10 15:40
好東西拿出分享是一種美德
作者: 超神NK    時(shí)間: 2018-10-20 14:55
yingjiehan 發(fā)表于 2018-10-9 21:59
as680集成模塊好用么

個(gè)人用是沒(méi)什么問(wèn)題的,采樣要多對(duì)比幾次,要不有時(shí)候手指不識(shí)別。(采樣的時(shí)候最好采樣5次,手指偏上、偏下,中間,偏左,偏右)
作者: kakit    時(shí)間: 2018-11-4 23:28
最近準(zhǔn)備寫寫指紋的課程設(shè)計(jì),參考一下,謝了
作者: kakit    時(shí)間: 2018-11-4 23:29
最近準(zhǔn)備寫相關(guān)的課程設(shè)計(jì),參考一下先
作者: 1173647613    時(shí)間: 2018-11-19 01:43
謝謝樓主的熱情分享

作者: 13178969252    時(shí)間: 2019-1-7 16:59
好東西
作者: zhuluzhe    時(shí)間: 2019-1-15 15:04
AS608上位機(jī)提示校驗(yàn)和錯(cuò),怎么處理
作者: fairy08    時(shí)間: 2019-1-15 19:43
正需要呢 謝謝樓主分享
作者: fcx322    時(shí)間: 2019-1-21 08:41
謝謝分享
作者: long2018    時(shí)間: 2019-1-25 14:58
好東西拿出分享是一種美德
作者: LOGLOG6    時(shí)間: 2019-1-26 13:13
樓主,請(qǐng)問(wèn)在使用as608和51通信的時(shí)候是直接連在單片機(jī)的30.31口的嗎?為什么我使用的時(shí)候單片機(jī)接收模塊返回的指令時(shí),單片機(jī)無(wú)法識(shí)別這個(gè)指令?造成程序陷在死循環(huán)了。
作者: xiamingqiang    時(shí)間: 2019-1-29 10:49
正在學(xué)習(xí),參考下
作者: yanzehui    時(shí)間: 2019-3-2 23:32
我想問(wèn)問(wèn)代碼里面的 TI RT 是什么

作者: 18856339883    時(shí)間: 2019-3-6 00:38
謝謝分享
作者: generalissimo    時(shí)間: 2019-4-2 23:52
感謝樓主分享,我參考一下。
作者: 吉吉木    時(shí)間: 2019-4-10 12:47
好東西一起分享
作者: 744609013    時(shí)間: 2019-4-19 22:42
正在學(xué)習(xí)AS608,非常好,多謝!
作者: Mayday8888    時(shí)間: 2019-5-15 17:15
正在學(xué)習(xí)AS608,非常好,多謝!
作者: ak5136728    時(shí)間: 2019-7-31 13:33
謝謝分享
作者: muryu    時(shí)間: 2019-8-19 09:51
感謝樓主提供思路
作者: liaohuimin245    時(shí)間: 2019-8-20 18:32
好東西,下載來(lái)學(xué)習(xí)一下
作者: 吃瓜    時(shí)間: 2019-10-14 19:17
可以可以很不錯(cuò)

作者: Duo2048    時(shí)間: 2019-10-15 21:26
好東西呀  看看  謝謝樓主
作者: Duo2048    時(shí)間: 2019-10-15 21:27
好東西哦  謝謝樓主分享
作者: 三基色    時(shí)間: 2020-4-16 21:27
程序很完整,值得參考
作者: 王大噗    時(shí)間: 2020-4-20 15:15
認(rèn)真學(xué)習(xí)!感覺(jué)樓主分享!
作者: 大噗    時(shí)間: 2020-4-22 08:23
下載下來(lái)頭文件都沒(méi)

作者: 1124498655    時(shí)間: 2020-5-10 14:43
感謝分享
作者: 三基色    時(shí)間: 2020-5-10 22:41
正在學(xué)習(xí)AS608,非常好,多謝!
作者: xin16    時(shí)間: 2020-5-11 12:42
感謝,非常好
作者: jack258    時(shí)間: 2020-5-27 12:44
樓主可以加個(gè)聯(lián)系方式請(qǐng)教一下嗎?
作者: HEIzh    時(shí)間: 2021-12-25 16:19
LOGLOG6 發(fā)表于 2019-1-26 13:13
樓主,請(qǐng)問(wèn)在使用as608和51通信的時(shí)候是直接連在單片機(jī)的30.31口的嗎?為什么我使用的時(shí)候單片機(jī)接收模塊返 ...

兄弟解決這個(gè)問(wèn)題了么,我也遇到了這個(gè)問(wèn)題
作者: 5267487    時(shí)間: 2022-1-22 18:59

正在學(xué)習(xí)as608
作者: samaji    時(shí)間: 2022-3-9 13:56
感謝樓主,正在嘗試學(xué)習(xí)




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1