<?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=1WREAD</id>
		<title>1WREAD - 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=1WREAD"/>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=1WREAD&amp;action=history"/>
		<updated>2026-05-29T22:54:21Z</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=1WREAD&amp;diff=269&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;= &lt;span class=&quot;f_Header&quot;&gt;Action&lt;/span&gt;&lt;br/&gt; =  This statement reads data from the 1wire bus into a variable.  &lt;span style=&quot;font-family: 'Arial';  color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=1WREAD&amp;diff=269&amp;oldid=prev"/>
				<updated>2013-02-01T12:32:04Z</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;&amp;lt;br/&amp;gt; =  This statement reads data from the 1wire bus into a variable.  &amp;lt;span style=&amp;quot;font-family: &amp;#039;Arial&amp;#039;;  color: #000000&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&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;&amp;lt;br/&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
This statement reads data from the 1wire bus into a variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: 'Arial';  color: #000000&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';  color: #000000&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;&amp;lt;br/&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
var2 = &amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;1WREAD&amp;lt;/span&amp;gt;( [ bytes] )&lt;br /&gt;
&lt;br /&gt;
var2 = &amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;1WREAD&amp;lt;/span&amp;gt;( bytes , port , pin)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: 'Arial';  color: #000000&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';  color: #000000&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;&amp;lt;br/&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: left;  text-indent: 0px;  padding: 0px 0px 0px 0px;  margin: 0px 0px 0px 4px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: solid 2px #000000;  border-spacing:0px;  border-collapse: collapse&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;604&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align:left;  vertical-align:top&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:13%;  border: solid 1px #000000&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; | &lt;br /&gt;
var2&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:100%;  border: solid 1px #000000&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; | &lt;br /&gt;
Reads a byte from the bus and places it into variable var2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: 'Arial';  color: #000000&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optional the number of bytes to read can be specified.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;text-align:left;  vertical-align:top&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:13%;  border: solid 1px #000000&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; | &lt;br /&gt;
Port&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:100%;  border: solid 1px #000000&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; | &lt;br /&gt;
The PIN port name like PINB or PIND.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;text-align:left;  vertical-align:top&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:13%;  border: solid 1px #000000&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;13%&amp;quot; | &lt;br /&gt;
Pin&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:100%;  border: solid 1px #000000&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; | &lt;br /&gt;
The pin number of the port. In the range from 0-7. Maybe a numeric constant or variable.&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';  color: #000000&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';  color: #000000&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multi 1-wire devices on different pins are supported.&lt;br /&gt;
&lt;br /&gt;
To use this you must specify the port pin that is used for the communication.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: 'Arial';  color: #000000&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The 1wreset, 1wwrite and 1wread statements will work together when used with the old syntax. And the pin can be configured from the compiler options or with the [[CONFIG 1WIRE|CONFIG 1WIRE statement]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: 'Arial';  color: #000000&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';  color: #000000&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The syntax for additional 1-wire devices is&amp;amp;nbsp;:&lt;br /&gt;
&lt;br /&gt;
1WRESET port, pin&lt;br /&gt;
&lt;br /&gt;
1WWRITE var/constant , bytes, port, pin&lt;br /&gt;
&lt;br /&gt;
var = 1WREAD(bytes, port, pin) for reading multiple bytes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: 'Arial';  color: #000000&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';  color: #000000&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;&amp;lt;br/&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[1WWRITE]] , [[1WRESET]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: 'Arial';  color: #000000&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';  color: #000000&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';  color: #000000&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;&amp;lt;br/&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;
'name : 1wire.bas&lt;br /&gt;
'copyright : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose : demonstrates 1wreset, 1wwrite and 1wread()&lt;br /&gt;
'micro : Mega48&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
' pull-up of 4K7 required to VCC from Portb.2&lt;br /&gt;
' DS2401 serial button connected to Portb.2&lt;br /&gt;
'--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot;&lt;br /&gt;
$crystal = 4000000&lt;br /&gt;
&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;
&lt;br /&gt;
'when only bytes are used, use the following lib for smaller code&lt;br /&gt;
$lib &amp;quot;mcsbyte.lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Config 1wire = Portb.0 'use this pin&lt;br /&gt;
'On the STK200 jumper B.0 must be inserted&lt;br /&gt;
Dim Ar(8) As Byte , A As Byte , I As Byte&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Do&lt;br /&gt;
Wait 1&lt;br /&gt;
1wreset 'reset the device&lt;br /&gt;
Print Err 'print error 1 if error&lt;br /&gt;
1wwrite &amp;amp;H33 'read ROM command&lt;br /&gt;
For I = 1 To 8&lt;br /&gt;
 Ar(i) = 1wread() 'place into array&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'You could also read 8 bytes a time by unremarking the next line&lt;br /&gt;
'and by deleting the for next above&lt;br /&gt;
'Ar(1) = 1wread(8) 'read 8 bytes&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For I = 1 To 8&lt;br /&gt;
 Print Hex(ar(i)); 'print output&lt;br /&gt;
Next&lt;br /&gt;
Print 'linefeed&lt;br /&gt;
Loop&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'NOTE THAT WHEN YOU COMPILE THIS SAMPLE THE CODE WILL RUN TO THIS POINT&lt;br /&gt;
'THIS because of the DO LOOP that is never terminated!!!&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'New is the possibility to use more than one 1 wire bus&lt;br /&gt;
'The following syntax must be used:&lt;br /&gt;
For I = 1 To 8&lt;br /&gt;
Ar(i) = 0 'clear array to see that it works&lt;br /&gt;
Next&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
1wreset Pinb , 2 'use this port and pin for the second device&lt;br /&gt;
1wwrite &amp;amp;H33 , 1 , Pinb , 2 'note that now the number of bytes must be specified!&lt;br /&gt;
'1wwrite Ar(1) , 5,pinb,2&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'reading is also different&lt;br /&gt;
Ar(1) = 1wread(8 , Pinb , 2) 'read 8 bytes from portB on pin 2&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For I = 1 To 8&lt;br /&gt;
Print Hex(ar(i));&lt;br /&gt;
Next&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'you could create a loop with a variable for the bit number !&lt;br /&gt;
For I = 0 To 3 'for pin 0-3&lt;br /&gt;
1wreset Pinb , I&lt;br /&gt;
1wwrite &amp;amp;H33 , 1 , Pinb , I&lt;br /&gt;
Ar(1) = 1wread(8 , Pinb , I)&lt;br /&gt;
For A = 1 To 8&lt;br /&gt;
 Print Hex(ar(a));&lt;br /&gt;
Next&lt;br /&gt;
Print&lt;br /&gt;
Next&lt;br /&gt;
End&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>