Files
Examples/Java/Processing/processing-3.3.6/modes/java/reference/libraries/io/I2C.html
2018-04-20 10:15:15 +01:00

219 lines
8.7 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>I2C \ Language (API) \ Processing 2+</title>
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="Author" content="Processing Foundation" />
<meta name="Publisher" content="Processing Foundation" />
<meta name="Keywords" content="Processing, Sketchbook, Programming, Coding, Code, Art, Design" />
<meta name="Description" content="Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology." />
<meta name="Copyright" content="All contents copyright the Processing Foundation, Ben Fry, Casey Reas, and the MIT Media Laboratory" />
<script src="../../javascript/modernizr-2.6.2.touch.js" type="text/javascript"></script>
<link href="../../css/style.css" rel="stylesheet" type="text/css" />
</head>
<body id="Langauge-en" onload="" >
<!-- ==================================== PAGE ============================ -->
<div id="container">
<!-- ==================================== HEADER ============================ -->
<div id="ribbon">
<ul class="left">
<li class="highlight"><a href="http://processing.org/">Processing</a></li>
<li><a href="http://p5js.org/">p5.js</a></li>
<li><a href="http://py.processing.org/">Processing.py</a></li>
<li><a href="http://android.processing.org/">Processing for Android</a></li>
</ul>
<ul class="right">
<li><a href="https://processingfoundation.org/">Processing Foundation</a></li>
</ul>
<div class="clear"></div>
</div>
<div id="header">
<a href="/" title="Back to the Processing cover."><div class="processing-logo no-cover" alt="Processing cover"></div></a>
<form name="search" method="get" action="//www.google.com/search">
<p><input type="hidden" name="as_sitesearch" value="processing.org" />
<input type="text" name="as_q" value="" size="20" class="text" />
<input type="submit" value=" " /></p>
</form>
</div>
<a id="TOP" name="TOP"></a>
<div id="navigation">
<div class="navBar" id="mainnav">
<a href="../../index.html" >Language</a><br>
<a href="../../libraries/index.html" class='active'>Libraries</a><br>
<a href="../../tools/index.html">Tools</a><br>
<a href="../../environment/index.html">Environment</a><br>
</div>
<script> document.querySelectorAll(".processing-logo")[0].className = "processing-logo"; </script>
</div>
<!-- ==================================== CONTENT - Headers ============================ -->
<div class="content">
<p class="ref-notice">This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, <a href="https://github.com/processing/processing-docs/issues?state=open">please let us know</a>. If you prefer a more technical reference, visit the <a href="http://processing.github.io/processing-javadocs/core/">Processing Core Javadoc</a> and <a href="http://processing.github.io/processing-javadocs/libraries/">Libraries Javadoc</a>.</p>
<table cellpadding="0" cellspacing="0" border="0" class="ref-item">
<tr class="name-row">
<th scope="row">Name</th>
<td><h3>I2C</h3></td>
</tr>
<tr class=""><th scope="row">Examples</th><td><div class="example"><pre >
import processing.io.*;
I2C i2c;
void setup() {
//printArray(I2C.list());
i2c = new I2C(I2C.list()[0]);
}
void draw() {
background(map(mouseX, 0, width, 0, 255));
// send value over I2C to an digital-to-analog
// converter with address 96 (hex 0x60)
int val = int(4095 * map(mouseX, 0, width, 0.0, 1.0));
i2c.beginTransmission(0x60);
i2c.write(val >> 8);
i2c.write(val & 255);
i2c.endTransmission();
}
</pre></div>
</td></tr>
<tr class="">
<th scope="row">Description</th>
<td>
Opens an I2C interface as master<br/>
<br/>
I2C is a serial bus, commonly used to attach peripheral ICs (Integrated Circuits)
to processors and microcontrollers. It uses two pins, SDA (for data) and SDL (for
the clock signal). Multiple "slave" devices can be connected to the same bus, as
long as they are responding to different addresses (see below).<br/>
<br/>
The I2C "master" device initiates a transmission, which includes sending the
address of the desired "slave" device. I2C addresses consist of 7 bits plus one
bit that indicates whether the device is being read from or written to. Some
datasheets list the address in an 8 bit form (7 address bits + R/W bit), while
others provide the address in a 7 bit form, with the address in the lower 7 bits.<br/>
<br/>
This library expects addresses in their 7 bit form, similar to Arduino's Wire
library, and what is being output by the i2cdetect utility on Linux. If the
address provided in a datasheet is greater than 127 (hex 0x7f) or there are
separate addresses for read and write operations listed, which vary exactly by
one, then you want to shift the this number by one bit to the right before passing
it as an argument to <a href="I2C_beginTransmission_.html">beginTransmission()</a>.
</td>
</tr>
<tr class=""><th scope="row">Methods</th><td><table cellpadding="0" cellspacing="0" border="0"><tr class="">
<th scope="row"><a href="I2C_beginTransmission_.html">beginTransmission()</a></th>
<td>Begins a transmission to an attached device</td>
</tr>
<tr class="">
<th scope="row"><a href="I2C_close_.html">close()</a></th>
<td>Closes the I2C device</td>
</tr>
<tr class="">
<th scope="row"><a href="I2C_endTransmission_.html">endTransmission()</a></th>
<td>Ends the current transmissions</td>
</tr>
<tr class="">
<th scope="row"><a href="I2C_list_.html">list()</a></th>
<td>Lists all available I2C interfaces</td>
</tr>
<tr class="">
<th scope="row"><a href="I2C_read_.html">read()</a></th>
<td>Reads bytes from the attached device</td>
</tr>
<tr class="">
<th scope="row"><a href="I2C_write_.html">write()</a></th>
<td>Adds bytes to be written to the device</td>
</tr></table></td></tr>
<tr class=""><th scope="row">Constructor</th><td><pre>I2C(<kbd>dev</kbd>)
</pre></td></tr>
<tr class=""> <th scope="row">Parameters</th><td><table cellpadding="0" cellspacing="0" border="0"><tr class="">
<th scope="row" class="code">dev</th>
<td>String: interface name</td>
</tr></table></td> </tr>
</table>
Updated on April 30, 2017 02:33:20pm EDT<br /><br />
<!-- Creative Commons License -->
<div class="license">
<a rel="license" href="//creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Creative Commons License" style="border: none" src="https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png" /></a>
</div>
<!--
<?xpacket begin='' id=''?>
<x:xmpmeta xmlns:x='adobe:ns:meta/'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<rdf:Description rdf:about=''
xmlns:xapRights='http://ns.adobe.com/xap/1.0/rights/'>
<xapRights:Marked>True</xapRights:Marked>
</rdf:Description>
<rdf:Description rdf:about=''
xmlns:xapRights='http://ns.adobe.com/xap/1.0/rights/'
>
<xapRights:UsageTerms>
<rdf:Alt>
<rdf:li xml:lang='x-default' >This work is licensed under a &lt;a rel=&#34;license&#34; href=&#34;http://creativecommons.org/licenses/by-nc-sa/4.0/&#34;&gt;Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License&lt;/a&gt;.</rdf:li>
<rdf:li xml:lang='en' >This work is licensed under a &lt;a rel=&#34;license&#34; href=&#34;http://creativecommons.org/licenses/by-nc-sa/4.0/&#34;&gt;Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License&lt;/a&gt;.</rdf:li>
</rdf:Alt>
</xapRights:UsageTerms>
</rdf:Description>
<rdf:Description rdf:about=''
xmlns:cc='http://creativecommons.org/ns#'>
<cc:license rdf:resource='http://creativecommons.org/licenses/by-nc-sa/4.0/'/>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end='r'?>
-->
</div>
<!-- ==================================== FOOTER ============================ -->
<div id="footer">
<div id="copyright">Processing is an open project intiated by <a href="http://benfry.com/">Ben Fry</a> and <a href="http://reas.com">Casey Reas</a>. It is developed by a <a href="../../about/people.html">team of volunteers</a>. </div>
<div id="colophon">
<a href="../../copyright.html">&copy; Info</a>
</div>
</div>
</div>
<script src="../../javascript/jquery-1.9.1.min.js"></script>
<script src="../../javascript/site.js" type="text/javascript"></script>
</body>
</html>