'---------------------------------------------------------------------------------------- ' Name: TMEM1_T2.TIG ' Type: TIGER-BASIC(tm) Source Code ' ' Purpose: DEMO - iButton Touchmemory Demo ' ' (C) - Copyright Wilke Technology, P.O.Box 1727, D-52018 Aachen, Germany '---------------------------------------------------------------------------------------- ' ' Thank you for using BASIC Tigers in your products. If you have questions, ideas ' or special needs, please contact your next distributor or the Tiger support team ' and visit our web site: ' ' Wilke Technology GmbH ' The Tiger Support Team ' P.O.Box 1727, D-52018 Aachen, Germany ' Krefelder Str. 147, D-52070 Aachen, Germany ' ' email: support@wilke-technology.com (english) ' email: support@wilke.de (german) ' Phone: +49 (241) 918 900 Mo to Fr, 7:00 to 16:00 (GMT) ' Fax: +49 (241) 918 9068 ' ' New information, new drivers and free downloads see: ' ' www.wilke-technology.com (english) ' www.wilke.de (german) ' ' Sincerely, ' ' Your Tiger Support Team ' ' '---------------------------------------------------------------------------------------- ' ' ' Install Parameters differs from Tiger-1 ' ' Tiger-2 Parameters: ' ' INSTALL_DEVICE #TMEM, "TMEM_80.TD2", 3, 60, 5, 250 ' ' '--------------------------------------------------------------------- user_var_strict #include DEFINE_A.INC ' allgemeine Definitionen #include UFUNC3.INC ' User Function Codes TASK MAIN BYTE TMEM_PRES ' TMEM-Praesenz Flag BYTE FAM_CODE ' Family Code des Chips LONG SNR, I ' Seriennummer BYTE CHKSUM ' CRC-Prüfsummenbyte STRING A$ INSTALL_DEVICE #TA,"TIMERA.TD2",2,125 ' 5 kHz INSTALL_DEVICE #LCD, "LCD1.TD2" ' Text LCD 4x20 ' Port 8 pin 0 is TouchMemory Bus RESET, PRESENCE, NO-COMM INSTALL_DEVICE #TMEM, "TMEM_80.TD2", 3, 60, 5, 250 ' siehe ob TMEM praesent ist PUT #TMEM, #2, 0 ' iBus zuruecksetzen WAIT_DURATION 25 ' um Present-Flag zu setzen GET #TMEM, #0, #UFCI_TMEM_PRS, 1, TMEM_PRES PRINT #LCD, "<1>TMEM-Flg=";TMEM_PRES ' 0=praesent, 255=nicht pr. WAIT_DURATION 2000 PUT #TMEM, "<033H>" ' schreibe Kommando "READ ROM" WAIT_DURATION 10 PUT #TMEM,#1, 8 ' Device-Treiber vorbereiten WAIT_DURATION 25 ' um 8 Bytes zu lesen GET #TMEM, #0, 1, FAM_CODE ' das erste Byte lesen PRINT #LCD, "<1>Fam.Code:";FAM_CODE PRINT #LCD, "SNR:"; GET #TMEM, #0, 6, A$ ' ein Byte lesen FOR I = 5 TO 0 STEP -1 ' 6 Bytes Seriennummer SNR = NFROMS(A$,I,1) ' MSB HEX auf LCD USING "UH<2><2> 0 0 0 0 0" PRINT_USING #LCD, SNR; NEXT GET #TMEM, #0, 1, CHKSUM ' 1 Byte Pruefsumme USING "UH<2><2> 0 0 0 0 0" ' Format f. HEX auf LCD PRINT_USING #LCD,"<10><13>CRC:";CHKSUM' und HEX anzeigen ' ---------------------------- PUT #TMEM, "<0FH><26h><0>Hello 1-wire"' "write scratchpad" WAIT_DURATION 50 ' Kommando schreiben PUT #TMEM, #2, 0 ' ibus zurücksetzen WAIT_DURATION 25 PUT #TMEM, "<033H>" ' schreibe Kommando "READ ROM" WAIT_DURATION 10 PUT #TMEM,#1, 8 ' 8 Bytes lesen WAIT_DURATION 20 GET #TMEM,#0, 4, I ' 4 Bytes aus Input-Buffer PUT #TMEM, "<0AAH>" ' "read scratchpad" WAIT_DURATION 30 ' Kommando auf Bus schreiben PUT #TMEM,#1, 12 ' lese 12 Bytes WAIT_DURATION 25 GET #TMEM, #0, 12, A$ ' lese 12 Bytes aus Buffer A$ = RIGHT$ (A$,5) PRINT #LCD, A$; ' und zeige an END