<?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=OPEN%2Fde</id>
		<title>OPEN/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=OPEN%2Fde"/>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=OPEN/de&amp;action=history"/>
		<updated>2026-04-08T18:39:10Z</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=OPEN/de&amp;diff=2581&amp;oldid=prev</id>
		<title>Admin: 1 revision</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=OPEN/de&amp;diff=2581&amp;oldid=prev"/>
				<updated>2013-02-15T19:15:29Z</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:15, 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=OPEN/de&amp;diff=2580&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;= &lt;span class=&quot;f_Header&quot;&gt;Action&lt;/span&gt; =  Opens a device.  &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;  = &lt;span class=&quot;f_H...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=OPEN/de&amp;diff=2580&amp;oldid=prev"/>
				<updated>2013-02-11T20:57:42Z</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; =  Opens a device.  &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;lt;span class=&amp;quot;f_H...&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;
Opens a device.&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;OPEN&amp;lt;/span&amp;gt;&amp;amp;nbsp;&amp;quot;device&amp;quot; for MODE As #channel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;OPEN&amp;lt;/span&amp;gt;&amp;amp;nbsp;file FOR MODE as #channel&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;604&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: 75px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Device&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 520px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The default device is COM1 and you don't need to open a channel to use INPUT/OUTPUT on this device.&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;
With the implementation of the software UART, the compiler must know to which pin/device you will send/receive the data.&lt;br /&gt;
&lt;br /&gt;
So that is why the OPEN statement must be used. It tells the compiler about the pin you use for the serial input or output and the baud rate you want to use.&lt;br /&gt;
&lt;br /&gt;
COMB.0:9600,8,N,2 will use PORT B.0 at 9600 baud with 2 stop bits.&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 format for COM1 and COM2 is&amp;amp;nbsp;: COM1: or COM2:&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;
There is no speed/baud rate parameter since the default baud rate will be used that is specified with $BAUD or $BAUD1&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 format for the software UART is: COMpin:speed,8,N,stopbits[,INVERTED]&lt;br /&gt;
&lt;br /&gt;
Where pin is the name of the PORT-pin.&lt;br /&gt;
&lt;br /&gt;
Speed must be specified and stop bits can be 1 or 2.&lt;br /&gt;
&lt;br /&gt;
7 bit data or 8 bit data may be used.&lt;br /&gt;
&lt;br /&gt;
For parity N, O or E can be used.&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;
An optional parameter ,INVERTED can be specified to use inverted RS-232.&lt;br /&gt;
&lt;br /&gt;
Open &amp;quot;COMD.1:9600,8,N,1,INVERTED&amp;quot; For Output As #1 , will use pin PORTD.1 for output with 9600 baud, 1 stop bit and with inverted RS-232.&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;
For the AVR-DOS file system, Device can also be a string or filename constant like &amp;quot;readme.txt&amp;quot; or sFileName&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
For the Xmega, you can also open SPIC, SPID, SPIE and SPIF for SPI communication.&lt;br /&gt;
&lt;br /&gt;
Or for TWI you can use TWIC, TWID, TWIE or TWIF.&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: 75px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
MODE&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 520px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
You can use BINARY or RANDOM for COM1 and COM2, but for the software UART pins, you must specify INPUT or OUTPUT.&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;
For the AVR-DOS file system, MODE may be INPUT, OUTPUT, APPEND or BINARY.&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: 75px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Channel&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 520px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The number of the channel to open. Must be a positive constant &amp;gt;0.&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;
For the AVR-DOS file system, the channel may be a positive constant or a numeric variable. Note that the AVD-DOS file system uses real file handles. The software UART does not use real file handles.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
For the Xmega UART, you may use a variable that starts with BUART. This need to be a numeric variable like a byte. Using a variable allows you to use the UART dynamic.&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 class=&amp;quot;f_Header&amp;quot;&amp;gt;UART&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;
The statements that support the device are&amp;amp;nbsp;[[PRINT]]&amp;amp;nbsp;,&amp;amp;nbsp;[[INPUT]]&amp;amp;nbsp;,&amp;amp;nbsp;[[INPUTHEX]]&amp;amp;nbsp;,&amp;amp;nbsp;[[INKEY]]&amp;amp;nbsp;and&amp;amp;nbsp;[[WAITKEY]]&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;
Every opened device must be closed using the CLOSE #channel statement. Of course, you must use the same channel number.&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;
In DOS the #number is a DOS file number that is passed to low level routines. In BASCOM the channel number is only used to identify the channel but there are no file handles. So opening a channel, will not use a channel. Closing a channel is not needed for UARTS. When you do so, it is ignored. If you OPEN the channel again, you will get an error message.&lt;br /&gt;
&lt;br /&gt;
So use OPEN in the begin of your program, and if you use CLOSE, use it at the end of your 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;
&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;What is the difference?&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
In VB you can close the channel in a subroutine like this:&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;
OPEN &amp;quot;com1:&amp;quot; for binary as #1&lt;br /&gt;
&lt;br /&gt;
Call test&lt;br /&gt;
&lt;br /&gt;
Close #1&lt;br /&gt;
&lt;br /&gt;
End&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;
Sub test&lt;br /&gt;
&lt;br /&gt;
Print #1, &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
End Sub&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;
This will work since the file number is a real variable in the OS.&lt;br /&gt;
&lt;br /&gt;
In BASCOM it will not work&amp;amp;nbsp;: the CLOSE must come after the last I/O statement:&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;
OPEN &amp;quot;com1:&amp;quot; for binary as #1&lt;br /&gt;
&lt;br /&gt;
Call test&lt;br /&gt;
&lt;br /&gt;
End&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;
Sub test&lt;br /&gt;
&lt;br /&gt;
Print #1, &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Close #1&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;
The INPUT statement in combination with the software UART, will not echo characters back because there is no default associated pin for this.&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;AVR-DOS&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The AVR-DOS file system uses real file handles. This means that the CLOSE statement can be used at any place in your program just as with VB.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
There are a few file mode, all inherited from VB/QB. They work exactly the same.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&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;604&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: 75px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
File mode&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 520px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;Description&amp;lt;/p&amp;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: 75px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
OUTPUT&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 520px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Use OUTPUT to create a file, and to write ASCII data to the file. A readme.txt file on your PC is an example of an ASCII file. ASCII files have a trailing CR+LF for each line you print. The PRINT statement is used in combination with OUTPUT mode.&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: 75px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
INPUT&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 520px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
This mode is intended to OPEN an ASCII file and to read data only. You can not write data in this mode.&lt;br /&gt;
&lt;br /&gt;
The file need to exist, and must contain ASCII data.&lt;br /&gt;
&lt;br /&gt;
LINEINPUT can be used to read data from the file.&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: 75px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
APPEND&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 520px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
APPEND mode is used on ASCII files and will not erase the file, but will append data to the end of the file. This is useful when you want to log data to a file.&lt;br /&gt;
&lt;br /&gt;
Opening in OUTPUT mode would erase the file if it existed.&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: 75px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
BINARY&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 520px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
In BINARY mode you have full read and write access to all data in the file.&lt;br /&gt;
&lt;br /&gt;
You can open a text file to get binary access, or you can open a binary file such as an image file. &amp;amp;nbsp;GET and PUT can be used with binary files.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[File:Notice.jpg|left|Notice.jpg]]The following information from the author is for advanced users only.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;GET/PUT is not supposed to work with INPUT/OUTPUT due to the rules in VB/QBASIC.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;In the file CONFIG_AVR-DOS.bas (nearly at the of the file) you will find the constants&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;' permission Masks for file access routine regarding to the file open mode&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;Const cFileWrite_Mode = &amp;amp;B00101010 ' Binary, Append, Output&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;Const cFileRead_Mode = &amp;amp;B00100001 ' Binary, Input&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;Const cFileSeekSet_Mode = &amp;amp;B00100000 ' Binary&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;Const cFileInputLine = &amp;amp;B00100001 ' Binary, Input&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;Const cFilePut_Mode = &amp;amp;B00100000 ' Binary&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;Const cFileGet_Mode = &amp;amp;B00100000&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;‚&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;&amp;amp;nbsp;Binary&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic;&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-style: italic;&amp;quot;&amp;gt;Where you can control, which routines can used in each file open mode. There you can see, that in standard usage GET and PUT is only allowed in BINARY.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;Some time ago I wrote the Bootloader with AVR-DOS and I had the problem to keep Flash usage as low as possible. In the Bootloader I had to work with GET to read in the bytes, because the content is no ASCII text. On the other side, if you open a file in INPUT mode, you need less code. So I tested to open the File in input mode and allow to use GET in Input Mode.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic;&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-style: italic;&amp;quot;&amp;gt;I changed:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;Const cFileGet_Mode = &amp;amp;B00100001&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;So GET can work in INPUT too in the BOOTLOADER.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic;&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-style: italic;&amp;quot;&amp;gt;If you switch in the constants cFileGet_Mode the last 0 to a 1, you can use GET in INPUT Open mode to. With the bootloader.bas I changed the Config_AVR-DOS.bas too. With this changed Config_AVR-DOS.bas GET can used in INPUT, with the standard CONFIG_AVR-DOS not.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;This change makes no problem in code, but I think this is only something for experienced AVR-DOS user.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;Whether he can use GET in INPUT mode depends only on this last bit in the constant cFileGET_Mode in the file Config_AVR-DOS.bas. This bit controls, what can be used in INPUT mode.&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 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;Xmega-SPI&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The Xmega has 4 SPI interfaces. The channel is used to communicate with the different devices.&lt;br /&gt;
&lt;br /&gt;
And just as with the Xmega UART, you can use the SPI dynamic. When the channel variable starts with BSPI, you can pass a variable channel.&lt;br /&gt;
&lt;br /&gt;
An example you will find at&amp;amp;nbsp;[[CONFIG SPIX|CONFIG SPIx]]&lt;br /&gt;
&lt;br /&gt;
You can OPEN a SPI device only in BINARY mode.&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;Xmega-TWI&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
The Xmega has 4 TWI interfaces. The channel is used to communicate with the different devices.&lt;br /&gt;
&lt;br /&gt;
You can OPEN a TWI device only in BINARY mode. Only constants are allowed for the channel.&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;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[CLOSE]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CRYSTAL]],&amp;amp;nbsp;[[PRINT]],&amp;amp;nbsp;[[LINEINPUT|LINE INPUT]]&amp;amp;nbsp;,&amp;amp;nbsp;[[LOC]]&amp;amp;nbsp;,&amp;amp;nbsp;[[LOF]]&amp;amp;nbsp;,&amp;amp;nbsp;[[EOF]]&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;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------------------------&lt;br /&gt;
'name                     : open.bas&lt;br /&gt;
'copyright                : (c) 1995-2005, MCS Electronics&lt;br /&gt;
'purpose                  : demonstrates software UART&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 = 10000000                                         ' 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;
 &lt;br /&gt;
Dim B As Byte&lt;br /&gt;
 &lt;br /&gt;
'Optional you can fine tune the calculated bit delay&lt;br /&gt;
'Why would you want to do that?&lt;br /&gt;
'Because chips that have an internal oscillator may not&lt;br /&gt;
'run at the speed specified. This depends on the voltage, temp etc.&lt;br /&gt;
'You can either change $CRYSTAL or you can use&lt;br /&gt;
'BAUD #1,9610&lt;br /&gt;
 &lt;br /&gt;
'In this example file we use the DT006 from www.simmstick.com&lt;br /&gt;
'This allows easy testing with the existing serial port&lt;br /&gt;
'The MAX232 is fitted for this example.&lt;br /&gt;
'Because we use the hardware UART pins we MAY NOT use the hardware UART&lt;br /&gt;
'The hardware UART is used when you use PRINT, INPUT or other related statements&lt;br /&gt;
'We will use the software UART.&lt;br /&gt;
Waitms 100&lt;br /&gt;
 &lt;br /&gt;
'open channel for output&lt;br /&gt;
Open &amp;quot;comd.1:19200,8,n,1&amp;quot; For Output As #1&lt;br /&gt;
Print #1 , &amp;quot;serial output&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'Now open a pin for input&lt;br /&gt;
Open &amp;quot;comd.0:19200,8,n,1&amp;quot; For Input As #2&lt;br /&gt;
'since there is no relation between the input and output pin&lt;br /&gt;
'there is NO ECHO while keys are typed&lt;br /&gt;
Print #1 , &amp;quot;Number&amp;quot;&lt;br /&gt;
'get a number&lt;br /&gt;
Input #2 , B&lt;br /&gt;
'print the number&lt;br /&gt;
Print #1 , B&lt;br /&gt;
 &lt;br /&gt;
'now loop until ESC is pressed&lt;br /&gt;
'With INKEY() we can check if there is data available&lt;br /&gt;
'To use it with the software UART you must provide the channel&lt;br /&gt;
Do&lt;br /&gt;
'store in byte&lt;br /&gt;
 B = Inkey(#2)&lt;br /&gt;
'when the value &amp;gt; 0 we got something&lt;br /&gt;
If B &amp;gt; 0 Then&lt;br /&gt;
    Print #1 , Chr(b)                                   'print the character&lt;br /&gt;
End If&lt;br /&gt;
Loop Until B = 27&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Close #2&lt;br /&gt;
Close #1&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'OPTIONAL you may use the HARDWARE UART&lt;br /&gt;
'The software UART will not work on the hardware UART pins&lt;br /&gt;
'so you must choose other pins&lt;br /&gt;
'use normal hardware UART for printing&lt;br /&gt;
'Print B&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'When you dont want to use a level inverter such as the MAX-232&lt;br /&gt;
'You can specify ,INVERTED :&lt;br /&gt;
'Open &amp;quot;comd.0:300,8,n,1,inverted&amp;quot; For Input As #2&lt;br /&gt;
'Now the logic is inverted and there is no need for a level converter&lt;br /&gt;
'But the distance of the wires must be shorter with this&lt;br /&gt;
End&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;Example XMEGA TWI&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;
'                  (c) 1995-2010, MCS&lt;br /&gt;
'                      xm128-TWI.bas&lt;br /&gt;
'  This sample demonstrates the Xmega128A1 TWI&lt;br /&gt;
'-----------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
$regfile = &amp;quot;xm128a1def.dat&amp;quot;&lt;br /&gt;
$crystal = 32000000&lt;br /&gt;
$hwstack = 64&lt;br /&gt;
$swstack = 40&lt;br /&gt;
$framesize = 40&lt;br /&gt;
 &lt;br /&gt;
'include the following lib and code, the routines will be replaced since they are a workaround&lt;br /&gt;
$lib &amp;quot;xmega.lib&amp;quot;&lt;br /&gt;
$external _xmegafix_clear&lt;br /&gt;
$external _xmegafix_rol_r1014&lt;br /&gt;
 &lt;br /&gt;
Dim S As String * 20&lt;br /&gt;
 &lt;br /&gt;
'first enable the osc of your choice&lt;br /&gt;
Config Osc = Enabled , 32mhzosc = Enabled&lt;br /&gt;
 &lt;br /&gt;
'configure the systemclock&lt;br /&gt;
Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1&lt;br /&gt;
 &lt;br /&gt;
Dim N As String * 16 , B As Byte&lt;br /&gt;
Config Com1 = 19200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8&lt;br /&gt;
Config Input1 = Cr , Echo = Crlf                           ' CR is used for input, we echo back CR and LF&lt;br /&gt;
 &lt;br /&gt;
Open &amp;quot;COM1:&amp;quot; For Binary As #1&lt;br /&gt;
'       ^^^^ change from COM1-COM8&lt;br /&gt;
 &lt;br /&gt;
Print #1 , &amp;quot;Xmega revision:&amp;quot; ; Mcu_revid                   ' make sure it is 7 or higher !!! lower revs have many flaws&lt;br /&gt;
 &lt;br /&gt;
Const Usechannel = 1&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Dim B1 As Byte , B2 As Byte&lt;br /&gt;
Dim W As Word At B1 Overlay&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Open &amp;quot;twic&amp;quot; For Binary As #4                               ' or use TWID,TWIE oR TWIF&lt;br /&gt;
Config Twi = 100000                                         'CONFIG TWI will ENABLE the TWI master interface&lt;br /&gt;
'you can also use TWIC, TWID, TWIE of TWIF&lt;br /&gt;
 &lt;br /&gt;
#if Usechannel = 1&lt;br /&gt;
  I2cinit #4&lt;br /&gt;
#else&lt;br /&gt;
I2cinit&lt;br /&gt;
#endif&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Do&lt;br /&gt;
I2cstart&lt;br /&gt;
Waitms 20&lt;br /&gt;
I2cwbyte &amp;amp;H70                                             ' slave address write&lt;br /&gt;
Waitms 20&lt;br /&gt;
I2cwbyte &amp;amp;B10101010                                       ' write command&lt;br /&gt;
Waitms 20&lt;br /&gt;
I2cwbyte 2&lt;br /&gt;
Waitms 20&lt;br /&gt;
I2cstop&lt;br /&gt;
Print &amp;quot;Error : &amp;quot; ; Err                                   ' show error status&lt;br /&gt;
 &lt;br /&gt;
'waitms 50&lt;br /&gt;
Print &amp;quot;start&amp;quot;&lt;br /&gt;
I2cstart&lt;br /&gt;
Print &amp;quot;Error : &amp;quot; ; Err                                   ' show error&lt;br /&gt;
I2cwbyte &amp;amp;H71&lt;br /&gt;
Print &amp;quot;Error : &amp;quot; ; Err                                   ' show error&lt;br /&gt;
I2crbyte B1 , Ack&lt;br /&gt;
Print &amp;quot;Error : &amp;quot; ; Err                                   ' show error&lt;br /&gt;
I2crbyte B2 , Nack&lt;br /&gt;
Print &amp;quot;Error : &amp;quot; ; Err                                   ' show error&lt;br /&gt;
I2cstop&lt;br /&gt;
Print &amp;quot;received A/D : &amp;quot; ; W ; &amp;quot;-&amp;quot; ; B1 ; &amp;quot;-&amp;quot; ; B2&lt;br /&gt;
Waitms 500                                               'wait a bit&lt;br /&gt;
Loop&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Dim J As Byte , C As Byte , K As Byte&lt;br /&gt;
Dim Twi_start As Byte                                       ' you MUST dim this variable since it is used by the lib&lt;br /&gt;
 &lt;br /&gt;
'determine if we have an i2c slave on the bus&lt;br /&gt;
For J = 0 To 200 Step 2&lt;br /&gt;
Print J&lt;br /&gt;
#if Usechannel = 1&lt;br /&gt;
  I2cstart #4&lt;br /&gt;
#else&lt;br /&gt;
  I2cstart&lt;br /&gt;
#endif&lt;br /&gt;
 &lt;br /&gt;
  I2cwbyte J&lt;br /&gt;
  If Err = 0 Then                                         ' no errors&lt;br /&gt;
    Print &amp;quot;FOUND : &amp;quot; ; Hex(j)&lt;br /&gt;
    'write some value to the pcf8574A&lt;br /&gt;
    #if Usechannel = 1&lt;br /&gt;
        I2cwbyte &amp;amp;B1100_0101 , #4&lt;br /&gt;
    #else&lt;br /&gt;
        I2cwbyte &amp;amp;B1100_0101&lt;br /&gt;
    #endif&lt;br /&gt;
    Print Err&lt;br /&gt;
    Exit For&lt;br /&gt;
  End If&lt;br /&gt;
  #if Usechannel = 1&lt;br /&gt;
      I2cstop #4&lt;br /&gt;
  #else&lt;br /&gt;
      I2cstop&lt;br /&gt;
  #endif&lt;br /&gt;
Next&lt;br /&gt;
#if Usechannel = 1&lt;br /&gt;
  I2cstop #4&lt;br /&gt;
#else&lt;br /&gt;
  I2cstop&lt;br /&gt;
#endif&lt;br /&gt;
 &lt;br /&gt;
#if Usechannel = 1&lt;br /&gt;
I2cstart #4&lt;br /&gt;
I2cwbyte &amp;amp;H71 , #4                                       'read address&lt;br /&gt;
I2crbyte J , Ack , #4&lt;br /&gt;
Print Bin(j) ; &amp;quot; err:&amp;quot; ; Err&lt;br /&gt;
I2crbyte J , Ack , #4&lt;br /&gt;
Print Bin(j) ; &amp;quot; err:&amp;quot; ; Err&lt;br /&gt;
I2crbyte J , Nack , #4&lt;br /&gt;
Print Bin(j) ; &amp;quot; err:&amp;quot; ; Err&lt;br /&gt;
I2cstop #4&lt;br /&gt;
#else&lt;br /&gt;
I2cstart&lt;br /&gt;
I2cwbyte &amp;amp;H71                                             'read address&lt;br /&gt;
I2crbyte J , Ack&lt;br /&gt;
Print Bin(j) ; &amp;quot; err:&amp;quot; ; Err&lt;br /&gt;
I2crbyte J , Ack&lt;br /&gt;
Print Bin(j) ; &amp;quot; err:&amp;quot; ; Err&lt;br /&gt;
I2crbyte J , Nack&lt;br /&gt;
Print Bin(j) ; &amp;quot; err:&amp;quot; ; Err&lt;br /&gt;
I2cstop&lt;br /&gt;
#endif&lt;br /&gt;
 &lt;br /&gt;
'try a transaction&lt;br /&gt;
#if Usechannel = 1&lt;br /&gt;
I2csend &amp;amp;H70 , 255 , #4                                   ' all 1&lt;br /&gt;
Waitms 1000&lt;br /&gt;
I2csend &amp;amp;H70 , 0 , #4                                     'all 0&lt;br /&gt;
#else&lt;br /&gt;
I2csend &amp;amp;H70 , 255&lt;br /&gt;
Waitms 1000&lt;br /&gt;
I2csend &amp;amp;H70 , 0&lt;br /&gt;
#endif&lt;br /&gt;
Print Err&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'read transaction&lt;br /&gt;
Dim Var As Byte&lt;br /&gt;
Var = &amp;amp;B11111111&lt;br /&gt;
#if Usechannel = 1&lt;br /&gt;
I2creceive &amp;amp;H70 , Var , 1 , 1 , #4                       ' send and receive&lt;br /&gt;
Print Bin(var) ; &amp;quot;-&amp;quot; ; Err&lt;br /&gt;
I2creceive &amp;amp;H70 , Var , 0 , 1 , #4                       ' just receive&lt;br /&gt;
Print Bin(var) ; &amp;quot;-&amp;quot; ; Err&lt;br /&gt;
#else&lt;br /&gt;
I2creceive &amp;amp;H70 , Var , 1 , 1                             ' send and receive&lt;br /&gt;
Print Bin(var) ; &amp;quot;-&amp;quot; ; Err&lt;br /&gt;
I2creceive &amp;amp;H70 , Var , 0 , 1                             ' just receive&lt;br /&gt;
Print Bin(var) ; &amp;quot;-&amp;quot; ; Err&lt;br /&gt;
#endif&lt;br /&gt;
 &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/de]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>