<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.mcselec.com/bavr/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=BCCALL%2Fde</id>
		<title>BCCALL/de - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=BCCALL%2Fde"/>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=BCCALL/de&amp;action=history"/>
		<updated>2026-04-28T22:57:09Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.18.6</generator>

	<entry>
		<id>http://wiki.mcselec.com/bavr/index.php?title=BCCALL/de&amp;diff=2837&amp;oldid=prev</id>
		<title>Admin: 1 revision</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=BCCALL/de&amp;diff=2837&amp;oldid=prev"/>
				<updated>2013-02-15T19:16:42Z</updated>
		
		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:16, 15 February 2013&lt;/td&gt;
		&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/index.php?title=BCCALL/de&amp;diff=2836&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;= &lt;span class=&quot;f_Header&quot;&gt;Action&lt;/span&gt; =  Calls a subroutine or procedure in the BasicCard.  &lt;span style=&quot;font-family: Arial;&quot;&gt;&amp;nbsp;&lt;/span&gt;  &lt;span style=&quot;font-family: Arial;&quot;...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=BCCALL/de&amp;diff=2836&amp;oldid=prev"/>
				<updated>2013-02-13T11:52:34Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =  Calls a subroutine or procedure in the BasicCard.  &amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;  &amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== (**COPIED FROM ENGLISH PAGE**) === &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Calls a subroutine or procedure in the BasicCard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;BCCALL&amp;lt;/span&amp;gt;&amp;amp;nbsp;name( nad , cla, ins, p1, p2 [param1 , paramn])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;539&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 72px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
name&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 458px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The name of the procedure to all in the BasicCard. It must be defined first with BCDEF. The name used with BCDEF and BCCALL do not need to be the same as the procedure in the BasicCard but it is advised to use the same names.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 72px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
NAD&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 458px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Node address byte. The BasicCard responds to all node address values. Use 0 for default.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 72px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
CLA&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 458px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Class byte. First byte of two byte CLA-INS command. Must match the value in the BasicCard procedure.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 72px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
INS&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 458px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Instruction byte. Second byte of two byte CLA-INS command. Must match the value in the BasicCard procedure.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 72px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
P1&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 458px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Parameter 1 of CLA–INS header.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;14%&amp;quot; style=&amp;quot;width: 72px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
P2&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 458px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Parameter 2 of CLA-INS header&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Notice.jpg|notice]]This statements uses BCCARD.LIB, a library that is available separately from MCS Electronics.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When in your BasicCard basic program you use:&lt;br /&gt;
&lt;br /&gt;
'test of passing parameters&lt;br /&gt;
&lt;br /&gt;
Command &amp;amp;hf6 &amp;amp;h01 ParamTest( b as byte, w as integer,l as long)&lt;br /&gt;
&lt;br /&gt;
b=b+1&lt;br /&gt;
&lt;br /&gt;
w=w+1&lt;br /&gt;
&lt;br /&gt;
l=l+1&lt;br /&gt;
&lt;br /&gt;
end command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to use &amp;amp;HF6 for CLA and 1 for INS when you call the program:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bccall Paramtest(0 , &amp;amp;HF6 , 1 , 0 , 0 , B , W , L)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;^ NAD&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ^CLA&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ^INS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ^P1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ^P2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you use BCCALL, the NAD, CLA, INS, P1 and P2 are sent to the BasicCard. The parameter values are also sent to the BasicCard. The BasicCard will execute the command defined with CLA and INS and will return the result in SW1 and SW2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The parameter values altered by the BasicCard are also sent by the BasicCard.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can not sent constant values. Only variables may be sent. This because a constant can not be changed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See Also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[CONFIG BCCARD|CONFIG BCCARD]]&amp;amp;nbsp;,&amp;amp;nbsp;[[BCDEF]]&amp;amp;nbsp;,&amp;amp;nbsp;[[BCRESET]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'------------------------------------------------------------------------------&lt;br /&gt;
' BCCARD.BAS&lt;br /&gt;
' This AN shows how to use the BasicCard from Zeitcontrol&lt;br /&gt;
' www.basiccard.com&lt;br /&gt;
'------------------------------------------------------------------------------&lt;br /&gt;
'connections:&lt;br /&gt;
' C1 = +5V&lt;br /&gt;
' C2 = PORTD.4 - RESET&lt;br /&gt;
' C3 = PIN 4 - CLOCK&lt;br /&gt;
' C5 = GND&lt;br /&gt;
' C7 = PORTD.5 - I/O&lt;br /&gt;
 &lt;br /&gt;
' /--------------------------------\&lt;br /&gt;
' | |&lt;br /&gt;
' | C1 C5 |&lt;br /&gt;
' | C2 C6 |&lt;br /&gt;
' | C3 C7 |&lt;br /&gt;
' | C4 C8 |&lt;br /&gt;
' | |&lt;br /&gt;
' \--------------------------------/&lt;br /&gt;
'&lt;br /&gt;
'&lt;br /&gt;
 &lt;br /&gt;
'----------- configure the pins we use ------------&lt;br /&gt;
Config Bccard = D , Io = 5 , Reset = 4&lt;br /&gt;
' ^ PORTD.4&lt;br /&gt;
' ^------------ PORTD.5&lt;br /&gt;
' ^--------------------- PORT D&lt;br /&gt;
 &lt;br /&gt;
'Load the sample calc.bas into the basiccard&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
' Now define the procedure in BASCOM&lt;br /&gt;
' We pass a string and also receive a string&lt;br /&gt;
Bcdef Calc(string)&lt;br /&gt;
 &lt;br /&gt;
'We need to dim the following variables&lt;br /&gt;
'SW1 and SW2 are returned by the BasicCard&lt;br /&gt;
'BC_PCB must be set to 0 before you start a session&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'Our program uses a string to pass the data so DIM it&lt;br /&gt;
Dim S As String * 15&lt;br /&gt;
 &lt;br /&gt;
'Baudrate might be changed&lt;br /&gt;
$baud = 9600&lt;br /&gt;
' Crystal used must be 3579545 since it is connected to the Card too&lt;br /&gt;
$crystal = 3579545&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'Perform an ATR&lt;br /&gt;
Bcreset&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'Now we call the procedure in the BasicCard&lt;br /&gt;
'bccall funcname(nad,cla,ins,p1,p2,PRM as TYPE,PRM as TYPE)&lt;br /&gt;
S = &amp;quot;1+1+3&amp;quot; ' we want to calculate the result of this expression&lt;br /&gt;
 &lt;br /&gt;
Bccall Calc(0 , &amp;amp;H20 , 1 , 0 , 0 , S)&lt;br /&gt;
' ^--- variable to pass that holds the expression&lt;br /&gt;
' ^------- P2&lt;br /&gt;
' ^----------- P1&lt;br /&gt;
' ^--------------- INS&lt;br /&gt;
' ^-------------------- CLA&lt;br /&gt;
' ^-------------------------- NAD&lt;br /&gt;
'For info about NAD, CLA, INS, P1 and P2 see your BasicCard manual&lt;br /&gt;
'if an error occurs ERR is set&lt;br /&gt;
' The BCCALL returns also the variables SW1 and SW2&lt;br /&gt;
Print &amp;quot;Result of calc : &amp;quot; ; S&lt;br /&gt;
Print &amp;quot;SW1 = &amp;quot; ; Hex(sw1)&lt;br /&gt;
Print &amp;quot;SW2 = &amp;quot; ; Hex(sw2)&lt;br /&gt;
'Print Hex(_bc_pcb) ' for test you can see that it toggles between 0 and 40&lt;br /&gt;
Print &amp;quot;Error : &amp;quot; ; Err&lt;br /&gt;
 &lt;br /&gt;
'You can call this or another function again in this session&lt;br /&gt;
 &lt;br /&gt;
S = &amp;quot;2+2&amp;quot;&lt;br /&gt;
Bccall Calc(0 , &amp;amp;H20 , 1 , 0 , 0 , S)&lt;br /&gt;
Print &amp;quot;Result of calc : &amp;quot; ; S&lt;br /&gt;
Print &amp;quot;SW1 = &amp;quot; ; Hex(sw1)&lt;br /&gt;
Print &amp;quot;SW2 = &amp;quot; ; Hex(sw2)&lt;br /&gt;
'Print Hex(_bc_pcb) ' for test you can see that it toggles between 0 and 40&lt;br /&gt;
Print &amp;quot;Error : &amp;quot; ; Err&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'perform another ATR&lt;br /&gt;
Bcreset&lt;br /&gt;
Input &amp;quot;expression &amp;quot; , S&lt;br /&gt;
Bccall Calc(0 , &amp;amp;H20 , 1 , 0 , 0 , S)&lt;br /&gt;
Print &amp;quot;Answer : &amp;quot; ; S&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'----and now perform an ATR as a function&lt;br /&gt;
Dim Buf(25) As Byte , I As Byte&lt;br /&gt;
Buf(1) = Bcreset()&lt;br /&gt;
For I = 1 To 25&lt;br /&gt;
Print I ; &amp;quot; &amp;quot; ; Hex(buf(i))&lt;br /&gt;
Next&lt;br /&gt;
'typical returns :&lt;br /&gt;
'TS = 3B&lt;br /&gt;
'T0 = EF&lt;br /&gt;
'TB1 = 00&lt;br /&gt;
'TC1 = FF&lt;br /&gt;
'TD1 = 81 T=1 indication&lt;br /&gt;
'TD2 = 31 TA3,TB3 follow T=1 indicator&lt;br /&gt;
'TA3 = 50 or 20 IFSC ,50 =Compact Card, 20 = Enhanced Card&lt;br /&gt;
'TB3 = 45 BWT blocl waiting time&lt;br /&gt;
'T1 -Tk = 42 61 73 69 63 43 61 72 64 20 5A 43 31 32 33 00 00&lt;br /&gt;
' B a s i c C a r d Z C 1 2 3&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'and another test&lt;br /&gt;
'define the procedure in the BasicCard program&lt;br /&gt;
Bcdef Paramtest(byte , Word , Long )&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'dim some variables&lt;br /&gt;
Dim B As Byte , W As Word , L As Long&lt;br /&gt;
 &lt;br /&gt;
'assign the variables&lt;br /&gt;
B = 1 : W = &amp;amp;H1234 : L = &amp;amp;H12345678&lt;br /&gt;
 &lt;br /&gt;
Bccall Paramtest(0 , &amp;amp;HF6 , 1 , 0 , 0 , B , W , L)&lt;br /&gt;
Print Hex(sw1) ; Spc(3) ; Hex(sw2)&lt;br /&gt;
'and see that the variables are changed by the BasicCard !&lt;br /&gt;
Print B ; Spc(3) ; Hex(w) ; &amp;quot; &amp;quot; ; Hex(l)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'try the echotest command&lt;br /&gt;
Bcdef Echotest(byte)&lt;br /&gt;
Bccall Echotest(0 , &amp;amp;HC0 , &amp;amp;H14 , 1 , 0 , B)&lt;br /&gt;
Print B&lt;br /&gt;
End 'end program&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;BasicCard Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
Rem BasicCard Sample Source Code&lt;br /&gt;
Rem ------------------------------------------------------------------&lt;br /&gt;
Rem Copyright (C) 1997-2001 ZeitControl GmbH&lt;br /&gt;
Rem You have a royalty-free right to use, modify, reproduce and&lt;br /&gt;
Rem distribute the Sample Application Files (and/or any modified&lt;br /&gt;
Rem version) in any way you find useful, provided that you agree&lt;br /&gt;
Rem that ZeitControl GmbH has no warranty, obligations or liability&lt;br /&gt;
Rem for any Sample Application Files.&lt;br /&gt;
Rem ------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
#Include CALCKEYS.BAS&lt;br /&gt;
 &lt;br /&gt;
Declare ApplicationID = &amp;quot;BasicCard Mini-Calculator&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Rem This BasicCard program contains recursive procedure calls, so the&lt;br /&gt;
Rem compiler will allocate all available RAM to the P-Code stack unless&lt;br /&gt;
Rem otherwise advised. This slows execution, because all strings have to&lt;br /&gt;
Rem be allocated from EEPROM. So we specify a stack size here:&lt;br /&gt;
 &lt;br /&gt;
#Stack 120&lt;br /&gt;
 &lt;br /&gt;
' Calculator Command (CLA = &amp;amp;H20, INS = &amp;amp;H01)&lt;br /&gt;
'&lt;br /&gt;
' Input: an ASCII expression involving integers, and these operators:&lt;br /&gt;
'&lt;br /&gt;
' * / % + - &amp;amp; ^ |&lt;br /&gt;
'&lt;br /&gt;
' (Parentheses are also allowed.)&lt;br /&gt;
'&lt;br /&gt;
' Output: the value of the expression, in ASCII.&lt;br /&gt;
'&lt;br /&gt;
' P1 = 0: all numbers are decimal&lt;br /&gt;
' P1 &amp;lt;&amp;gt; 0: all numbers are hex&lt;br /&gt;
 &lt;br /&gt;
' Constants&lt;br /&gt;
Const SyntaxError = &amp;amp;H81&lt;br /&gt;
Const ParenthesisMismatch = &amp;amp;H82&lt;br /&gt;
Const InvalidNumber = &amp;amp;H83&lt;br /&gt;
Const BadOperator = &amp;amp;H84&lt;br /&gt;
 &lt;br /&gt;
' Forward references&lt;br /&gt;
Declare Function EvaluateExpression (S$, Precedence) As Long&lt;br /&gt;
Declare Function EvaluateTerm (S$) As Long&lt;br /&gt;
Declare Sub Error (Code@)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'test for passing a string&lt;br /&gt;
Command &amp;amp;H20 &amp;amp;H01 Calculator (S$)&lt;br /&gt;
 &lt;br /&gt;
 Private X As Long&lt;br /&gt;
 S$ = Trim$ (S$)&lt;br /&gt;
 X = EvaluateExpression (S$, 0)&lt;br /&gt;
 If Len (Trim$ (S$)) &amp;lt;&amp;gt; 0 Then Call Error (SyntaxError)&lt;br /&gt;
 If P1 = 0 Then S$ = Str$ (X) : Else S$ = Hex$ (X)&lt;br /&gt;
 &lt;br /&gt;
End Command&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'test of passing parameters&lt;br /&gt;
Command &amp;amp;hf6 &amp;amp;h01 ParamTest( b as byte, w as integer,l as long)&lt;br /&gt;
 b=b+1&lt;br /&gt;
 w=w+1&lt;br /&gt;
 l=l+1&lt;br /&gt;
end command&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Function EvaluateExpression (S$, Precedence) As Long&lt;br /&gt;
 &lt;br /&gt;
 EvaluateExpression = EvaluateTerm (S$) &lt;br /&gt;
 &lt;br /&gt;
 Do&lt;br /&gt;
 S$ = LTrim$ (S$)&lt;br /&gt;
 If Len (S$) = 0 Then Exit Function&lt;br /&gt;
 &lt;br /&gt;
 Select Case S$(1)&lt;br /&gt;
 &lt;br /&gt;
 Case &amp;quot;*&amp;quot;&lt;br /&gt;
 If Precedence &amp;gt; 5 Then Exit Function&lt;br /&gt;
 S$ = Mid$ (S$, 2)&lt;br /&gt;
 EvaluateExpression = EvaluateExpression * _&lt;br /&gt;
 EvaluateExpression (S$, 6)&lt;br /&gt;
 Case &amp;quot;/&amp;quot;&lt;br /&gt;
 If Precedence &amp;gt; 5 Then Exit Function&lt;br /&gt;
 S$ = Mid$ (S$, 2)&lt;br /&gt;
 EvaluateExpression = EvaluateExpression / _&lt;br /&gt;
 EvaluateExpression (S$, 6)&lt;br /&gt;
 Case &amp;quot;%&amp;quot;&lt;br /&gt;
 If Precedence &amp;gt; 5 Then Exit Function&lt;br /&gt;
 S$ = Mid$ (S$, 2)&lt;br /&gt;
 EvaluateExpression = EvaluateExpression Mod _&lt;br /&gt;
 EvaluateExpression (S$, 6)&lt;br /&gt;
 Case &amp;quot;+&amp;quot;&lt;br /&gt;
 If Precedence &amp;gt; 4 Then Exit Function&lt;br /&gt;
 S$ = Mid$ (S$, 2)&lt;br /&gt;
 EvaluateExpression = EvaluateExpression + _&lt;br /&gt;
 EvaluateExpression (S$, 5)&lt;br /&gt;
 Case &amp;quot;-&amp;quot;&lt;br /&gt;
 If Precedence &amp;gt; 4 Then Exit Function&lt;br /&gt;
 S$ = Mid$ (S$, 2)&lt;br /&gt;
 EvaluateExpression = EvaluateExpression - _&lt;br /&gt;
 EvaluateExpression (S$, 5)&lt;br /&gt;
 Case &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
 If Precedence &amp;gt; 3 Then Exit Function&lt;br /&gt;
 S$ = Mid$ (S$, 2)&lt;br /&gt;
 EvaluateExpression = EvaluateExpression And _&lt;br /&gt;
 EvaluateExpression (S$, 4)&lt;br /&gt;
 Case &amp;quot;^&amp;quot;&lt;br /&gt;
 If Precedence &amp;gt; 2 Then Exit Function&lt;br /&gt;
 S$ = Mid$ (S$, 2)&lt;br /&gt;
 EvaluateExpression = EvaluateExpression Xor _&lt;br /&gt;
 EvaluateExpression (S$, 3)&lt;br /&gt;
 Case &amp;quot;|&amp;quot;&lt;br /&gt;
 If Precedence &amp;gt; 1 Then Exit Function&lt;br /&gt;
 S$ = Mid$ (S$, 2)&lt;br /&gt;
 EvaluateExpression = EvaluateExpression Or _&lt;br /&gt;
 EvaluateExpression (S$, 2)&lt;br /&gt;
 Case Else&lt;br /&gt;
 Exit Function&lt;br /&gt;
 End Select&lt;br /&gt;
 &lt;br /&gt;
 Loop&lt;br /&gt;
 &lt;br /&gt;
End Function&lt;br /&gt;
 &lt;br /&gt;
Function EvaluateTerm (S$) As Long&lt;br /&gt;
 &lt;br /&gt;
 Do ' Ignore unary plus&lt;br /&gt;
 S$ = LTrim$ (S$)&lt;br /&gt;
 If Len (S$) = 0 Then Call Error (SyntaxError)&lt;br /&gt;
 If S$(1) &amp;lt;&amp;gt; &amp;quot;+&amp;quot; Then Exit Do&lt;br /&gt;
 S$ = Mid$ (S$, 2)&lt;br /&gt;
 Loop&lt;br /&gt;
 &lt;br /&gt;
 If S$(1) = &amp;quot;(&amp;quot; Then ' Expression in parentheses&lt;br /&gt;
 S$ = Mid$ (S$, 2)&lt;br /&gt;
 EvaluateTerm = EvaluateExpression (S$, 0)&lt;br /&gt;
 S$ = LTrim$ (S$)&lt;br /&gt;
 If S$(1) &amp;lt;&amp;gt; &amp;quot;)&amp;quot; Then Call Error (ParenthesisMismatch)&lt;br /&gt;
 S$ = Mid$ (S$, 2)&lt;br /&gt;
 Exit Function&lt;br /&gt;
 &lt;br /&gt;
 ElseIf S$(1) = &amp;quot;-&amp;quot; Then ' Unary minus&lt;br /&gt;
 S$ = Mid$ (S$, 2)&lt;br /&gt;
 EvaluateTerm = -EvaluateTerm (S$)&lt;br /&gt;
 Exit Function&lt;br /&gt;
 &lt;br /&gt;
 Else ' Must be a number&lt;br /&gt;
 If P1 = 0 Then ' If decimal&lt;br /&gt;
 EvaluateTerm = Val&amp;amp; (S$, L@)&lt;br /&gt;
 Else&lt;br /&gt;
 EvaluateTerm = ValH (S$, L@)&lt;br /&gt;
 End If&lt;br /&gt;
 If L@ = 0 Then Call Error (InvalidNumber)&lt;br /&gt;
 S$ = Mid$ (S$, L@ + 1)&lt;br /&gt;
 End If&lt;br /&gt;
 &lt;br /&gt;
End Function&lt;br /&gt;
 &lt;br /&gt;
Sub Error (Code@)&lt;br /&gt;
 SW1 = &amp;amp;H64&lt;br /&gt;
 SW2 = Code@&lt;br /&gt;
 Exit&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt; {{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BCCARD/de]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>