<?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=READMAGCARD</id>
		<title>READMAGCARD - 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=READMAGCARD"/>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=READMAGCARD&amp;action=history"/>
		<updated>2026-04-07T09:31:49Z</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=READMAGCARD&amp;diff=808&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;= &lt;span class=&quot;f_Header&quot;&gt;Action&lt;/span&gt; =  Read data from a magnetic card.  &lt;span style=&quot;font-family: Arial;&quot;&gt;&amp;nbsp;&lt;/span&gt;  &lt;span style=&quot;font-family: Arial;&quot;&gt;&amp;nbsp;&lt;/span&gt;  = ...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=READMAGCARD&amp;diff=808&amp;oldid=prev"/>
				<updated>2013-02-11T22:10:54Z</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; =  Read data from a magnetic card.  &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;gt; &amp;lt;/span&amp;gt;  = ...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Read data from a magnetic card.&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;READMAGCARD&amp;lt;/span&amp;gt;&amp;amp;nbsp;var , count , coding&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;597&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;13%&amp;quot; style=&amp;quot;width: 74px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Var&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 514px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A byte array the receives the data.&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;13%&amp;quot; style=&amp;quot;width: 74px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Count&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 514px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A byte variable that returns the number of bytes read.&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;13%&amp;quot; style=&amp;quot;width: 74px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
coding&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 514px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A numeric constant that specifies if 5 or 7 bit coding is used. Valid values are 5 and 7.&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;
There can be 3 tracks on a magnetic card.&lt;br /&gt;
&lt;br /&gt;
Track 1 stores the data in 7 bit including the parity bit. This is handy to store alpha numeric data.&lt;br /&gt;
&lt;br /&gt;
On track 2 and 3 the data is stored with 5 bit coding.&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 ReadMagCard routine works with ISO7811-2 5 and 7 bit decoding.&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 returned numbers for 5 bit coding are:&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;368&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;55%&amp;quot; bgcolor=&amp;quot;#ffffb2&amp;quot; style=&amp;quot;width: 198px; background-color: rgb(255, 255, 178); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Returned number&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;#ffffb2&amp;quot; style=&amp;quot;width: 161px; background-color: rgb(255, 255, 178); border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;ISO characterT&amp;lt;/span&amp;gt;&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;55%&amp;quot; style=&amp;quot;width: 198px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
0&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
0&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;55%&amp;quot; style=&amp;quot;width: 198px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
1&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
1&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;55%&amp;quot; style=&amp;quot;width: 198px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
2&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
2&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;55%&amp;quot; style=&amp;quot;width: 198px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
3&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
3&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;55%&amp;quot; style=&amp;quot;width: 198px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
4&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
4&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;55%&amp;quot; style=&amp;quot;width: 198px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
5&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
5&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;55%&amp;quot; style=&amp;quot;width: 198px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
6&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
6&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;55%&amp;quot; style=&amp;quot;width: 198px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
7&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
7&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;55%&amp;quot; style=&amp;quot;width: 198px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
8&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
8&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;55%&amp;quot; style=&amp;quot;width: 198px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
9&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
9&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;55%&amp;quot; style=&amp;quot;width: 198px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
10&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
hardware control&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;55%&amp;quot; style=&amp;quot;width: 198px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
11&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
start byte&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;55%&amp;quot; style=&amp;quot;width: 198px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
12&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
hardware control&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;55%&amp;quot; style=&amp;quot;width: 198px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
13&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
separator&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;55%&amp;quot; style=&amp;quot;width: 198px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
14&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
hardware control&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;55%&amp;quot; style=&amp;quot;width: 198px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
15&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 161px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
stop byte&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;
&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;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name : magcard.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : show you how to read data from a magnetic card&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 4000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 10 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40 ' default use 40 for the frame space&lt;br /&gt;
 &lt;br /&gt;
'[reserve some space]&lt;br /&gt;
Dim Ar(100) As Byte , B As Byte , A As Byte&lt;br /&gt;
 &lt;br /&gt;
'the magnetic card reader has 5 wires&lt;br /&gt;
'red - connect to +5V&lt;br /&gt;
'black - connect to GND&lt;br /&gt;
'yellow - Card inserted signal CS&lt;br /&gt;
'green - clock&lt;br /&gt;
'blue - data&lt;br /&gt;
 &lt;br /&gt;
'You can find out for your reader which wires you have to use by connecting +5V&lt;br /&gt;
'And moving the card through the reader. CS gets low, the clock gives a clock pulse of equal pulses&lt;br /&gt;
'and the data varies&lt;br /&gt;
'I have little knowledge about these cards and please dont contact me about magnectic readers&lt;br /&gt;
'It is important however that you pull the card from the right direction as I was doing it wrong for&lt;br /&gt;
'some time :-)&lt;br /&gt;
'On the DT006 remove all the jumpers that are connected to the LEDs&lt;br /&gt;
 &lt;br /&gt;
'[We use ALIAS to specify the pins and PIN register]&lt;br /&gt;
_mport Alias Pinb 'all pins are connected to PINB&lt;br /&gt;
_mdata Alias 0 'data line (blue) PORTB.0&lt;br /&gt;
_mcs Alias 1 'CS line (yellow) PORTB.1&lt;br /&gt;
_mclock Alias 2 'clock line (green) PORTB.2&lt;br /&gt;
 &lt;br /&gt;
Config Portb = Input 'we only need bit 0,1 and 2 for input&lt;br /&gt;
Portb = 255 'make them high&lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
Print &amp;quot;Insert magnetic card&amp;quot; 'print a message&lt;br /&gt;
Readmagcard Ar(1) , B , 5 'read the data&lt;br /&gt;
Print B ; &amp;quot; bytes received&amp;quot;&lt;br /&gt;
For A = 1 To B&lt;br /&gt;
 Print Ar(a); 'print the bytes&lt;br /&gt;
Next&lt;br /&gt;
Print&lt;br /&gt;
Loop&lt;br /&gt;
 &lt;br /&gt;
'By specifying 7 instead of 5 you can read 7 bit data&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>