sdk-ameba-v4.0b_without_nda.../doc/api_doc/i2c__api_8h.html

181 lines
18 KiB
HTML
Raw Normal View History

2017-10-15 06:36:37 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>SDK4.0: i2c_api.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">SDK4.0
</div>
<div id="projectbrief">This document shows Ameba SDK 4.0 APIs</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_59865070466a2d887ccae359ce349522.html">sdk-ameba</a></li><li class="navelem"><a class="el" href="dir_bb17c7c1f6b5d4e42018e46e245402cf.html">project</a></li><li class="navelem"><a class="el" href="dir_4d8a5561b87cbdbe66a2580ebcb931d0.html">realtek_8195a_gen_project</a></li><li class="navelem"><a class="el" href="dir_d55a6639c0ef2e769c54f3d73fdcd6ae.html">rtl8195a</a></li><li class="navelem"><a class="el" href="dir_218701c72f38a637f56ccea9eb201b28.html">sw</a></li><li class="navelem"><a class="el" href="dir_467016183711ec67a0924a03f0be9cbd.html">lib</a></li><li class="navelem"><a class="el" href="dir_91cf82b8388ba308ddfe17c7b1476a41.html">sw_lib</a></li><li class="navelem"><a class="el" href="dir_d752387d37b25b2ddfb0bd02d399f93a.html">mbed</a></li><li class="navelem"><a class="el" href="dir_0ab723912218eac66c7f4e14b04376cf.html">hal</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">i2c_api.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>This file provides following mbed I2C API.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;device.h&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">AmebaZ Only</div></td></tr>
<tr class="memitem:ga8b9d3f27dde8fd4a7c2699a442036469"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__i2c.html#ga8b9d3f27dde8fd4a7c2699a442036469">i2c_repeatread</a> (i2c_t *obj, int address, u8 *pWriteBuf, int Writelen, u8 *pReadBuf, int Readlen)</td></tr>
<tr class="memdesc:ga8b9d3f27dde8fd4a7c2699a442036469"><td class="mdescLeft">&#160;</td><td class="mdescRight">I2C master send data and read data in poll mode. <a href="group__i2c.html#ga8b9d3f27dde8fd4a7c2699a442036469">More...</a><br /></td></tr>
<tr class="separator:ga8b9d3f27dde8fd4a7c2699a442036469"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Ameba Common</h2></td></tr>
<tr class="memitem:ga99fb83031ce9923c84392b4e92f956b5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga99fb83031ce9923c84392b4e92f956b5"></a>enum &#160;</td><td class="memItemRight" valign="bottom">{ <b>I2C_ERROR_NO_SLAVE</b> = -1,
<b>I2C_ERROR_BUS_BUSY</b> = -2
}</td></tr>
<tr class="separator:ga99fb83031ce9923c84392b4e92f956b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab81ea18d9e45cf0f66fd70fa327567f4"><td class="memItemLeft" align="right" valign="top">
typedef struct i2c_s&#160;</td><td class="memItemRight" valign="bottom"><b>i2c_t</b></td></tr>
<tr class="separator:gab81ea18d9e45cf0f66fd70fa327567f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b0ae695823965bbc29453fd2f4027ba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__i2c.html#ga1b0ae695823965bbc29453fd2f4027ba">i2c_init</a> (i2c_t *obj, PinName sda, PinName scl)</td></tr>
<tr class="memdesc:ga1b0ae695823965bbc29453fd2f4027ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the I2C device, include clock/function/I2C registers. <a href="group__i2c.html#ga1b0ae695823965bbc29453fd2f4027ba">More...</a><br /></td></tr>
<tr class="separator:ga1b0ae695823965bbc29453fd2f4027ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga911a872027faf4dbed3dc7900af2ae63"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__i2c.html#ga911a872027faf4dbed3dc7900af2ae63">i2c_frequency</a> (i2c_t *obj, int hz)</td></tr>
<tr class="memdesc:ga911a872027faf4dbed3dc7900af2ae63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set i2c frequency. <a href="group__i2c.html#ga911a872027faf4dbed3dc7900af2ae63">More...</a><br /></td></tr>
<tr class="separator:ga911a872027faf4dbed3dc7900af2ae63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga633ef0b7903f8d8a02e39bc92e5e1cd4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__i2c.html#ga633ef0b7903f8d8a02e39bc92e5e1cd4">i2c_start</a> (i2c_t *obj)</td></tr>
<tr class="memdesc:ga633ef0b7903f8d8a02e39bc92e5e1cd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start i2c device. <a href="group__i2c.html#ga633ef0b7903f8d8a02e39bc92e5e1cd4">More...</a><br /></td></tr>
<tr class="separator:ga633ef0b7903f8d8a02e39bc92e5e1cd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga884e7fb02c8c405f940f5733f2396e38"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__i2c.html#ga884e7fb02c8c405f940f5733f2396e38">i2c_stop</a> (i2c_t *obj)</td></tr>
<tr class="memdesc:ga884e7fb02c8c405f940f5733f2396e38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop i2c device. <a href="group__i2c.html#ga884e7fb02c8c405f940f5733f2396e38">More...</a><br /></td></tr>
<tr class="separator:ga884e7fb02c8c405f940f5733f2396e38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c49d3c4d4f9bf189b91ca582a5e0360"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__i2c.html#ga8c49d3c4d4f9bf189b91ca582a5e0360">i2c_reset</a> (i2c_t *obj)</td></tr>
<tr class="memdesc:ga8c49d3c4d4f9bf189b91ca582a5e0360"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deinitializes the I2C device. <a href="group__i2c.html#ga8c49d3c4d4f9bf189b91ca582a5e0360">More...</a><br /></td></tr>
<tr class="separator:ga8c49d3c4d4f9bf189b91ca582a5e0360"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab785445664c6d96cd87b3b4b9b3ec190"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__i2c.html#gab785445664c6d96cd87b3b4b9b3ec190">i2c_byte_read</a> (i2c_t *obj, int last)</td></tr>
<tr class="memdesc:gab785445664c6d96cd87b3b4b9b3ec190"><td class="mdescLeft">&#160;</td><td class="mdescRight">I2C master receive single byte. <a href="group__i2c.html#gab785445664c6d96cd87b3b4b9b3ec190">More...</a><br /></td></tr>
<tr class="separator:gab785445664c6d96cd87b3b4b9b3ec190"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga55292c588c9f79d92198139d46d3111e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__i2c.html#ga55292c588c9f79d92198139d46d3111e">i2c_byte_write</a> (i2c_t *obj, int data)</td></tr>
<tr class="memdesc:ga55292c588c9f79d92198139d46d3111e"><td class="mdescLeft">&#160;</td><td class="mdescRight">I2C master send single byte. <a href="group__i2c.html#ga55292c588c9f79d92198139d46d3111e">More...</a><br /></td></tr>
<tr class="separator:ga55292c588c9f79d92198139d46d3111e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1e9a41eb4c76bcc62c1d236b61f3898"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__i2c.html#gac1e9a41eb4c76bcc62c1d236b61f3898">i2c_slave_mode</a> (i2c_t *obj, int enable_slave)</td></tr>
<tr class="memdesc:gac1e9a41eb4c76bcc62c1d236b61f3898"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set i2c device to be slave. <a href="group__i2c.html#gac1e9a41eb4c76bcc62c1d236b61f3898">More...</a><br /></td></tr>
<tr class="separator:gac1e9a41eb4c76bcc62c1d236b61f3898"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4cb20c34467f6bc7f972e1bf6995c8d9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__i2c.html#ga4cb20c34467f6bc7f972e1bf6995c8d9">i2c_slave_receive</a> (i2c_t *obj)</td></tr>
<tr class="memdesc:ga4cb20c34467f6bc7f972e1bf6995c8d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get i2c slave state. <a href="group__i2c.html#ga4cb20c34467f6bc7f972e1bf6995c8d9">More...</a><br /></td></tr>
<tr class="separator:ga4cb20c34467f6bc7f972e1bf6995c8d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0542eb3761a36e3682c6a09a15756105"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__i2c.html#ga0542eb3761a36e3682c6a09a15756105">i2c_slave_address</a> (i2c_t *obj, int idx, uint32_t address, uint32_t mask)</td></tr>
<tr class="memdesc:ga0542eb3761a36e3682c6a09a15756105"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set i2c slave address. <a href="group__i2c.html#ga0542eb3761a36e3682c6a09a15756105">More...</a><br /></td></tr>
<tr class="separator:ga0542eb3761a36e3682c6a09a15756105"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga67f564fd103e3f2d56f6506239834ffe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__i2c.html#ga67f564fd103e3f2d56f6506239834ffe">i2c_read</a> (i2c_t *obj, int address, char *data, int length, int stop)</td></tr>
<tr class="memdesc:ga67f564fd103e3f2d56f6506239834ffe"><td class="mdescLeft">&#160;</td><td class="mdescRight">I2C master read in poll mode. <a href="group__i2c.html#ga67f564fd103e3f2d56f6506239834ffe">More...</a><br /></td></tr>
<tr class="separator:ga67f564fd103e3f2d56f6506239834ffe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga62c619e5640f444c914839699a3cd0a4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__i2c.html#ga62c619e5640f444c914839699a3cd0a4">i2c_write</a> (i2c_t *obj, int address, const char *data, int length, int stop)</td></tr>
<tr class="memdesc:ga62c619e5640f444c914839699a3cd0a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">I2C master write in poll mode. <a href="group__i2c.html#ga62c619e5640f444c914839699a3cd0a4">More...</a><br /></td></tr>
<tr class="separator:ga62c619e5640f444c914839699a3cd0a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b56b4f4a3fbe0e1e64cd482db1de7a4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__i2c.html#ga5b56b4f4a3fbe0e1e64cd482db1de7a4">i2c_slave_read</a> (i2c_t *obj, char *data, int length)</td></tr>
<tr class="memdesc:ga5b56b4f4a3fbe0e1e64cd482db1de7a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">I2C slave read in poll mode. <a href="group__i2c.html#ga5b56b4f4a3fbe0e1e64cd482db1de7a4">More...</a><br /></td></tr>
<tr class="separator:ga5b56b4f4a3fbe0e1e64cd482db1de7a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4fe28a2b1e9c69eb67c085e5e6005d3d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__i2c.html#ga4fe28a2b1e9c69eb67c085e5e6005d3d">i2c_slave_write</a> (i2c_t *obj, const char *data, int length)</td></tr>
<tr class="memdesc:ga4fe28a2b1e9c69eb67c085e5e6005d3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">I2C slave write in poll mode. <a href="group__i2c.html#ga4fe28a2b1e9c69eb67c085e5e6005d3d">More...</a><br /></td></tr>
<tr class="separator:ga4fe28a2b1e9c69eb67c085e5e6005d3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8f9894fec30c83809dd02929c9feff76"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__i2c.html#ga8f9894fec30c83809dd02929c9feff76">i2c_slave_set_for_rd_req</a> (i2c_t *obj, int set)</td></tr>
<tr class="memdesc:ga8f9894fec30c83809dd02929c9feff76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set/clear i2c slave RD_REQ interrupt mask. <a href="group__i2c.html#ga8f9894fec30c83809dd02929c9feff76">More...</a><br /></td></tr>
<tr class="separator:ga8f9894fec30c83809dd02929c9feff76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab6f24da9a64df1851fa747111365722a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__i2c.html#gab6f24da9a64df1851fa747111365722a">i2c_slave_set_for_data_nak</a> (i2c_t *obj, int set_nak)</td></tr>
<tr class="memdesc:gab6f24da9a64df1851fa747111365722a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set/clear i2c slave NAK or ACK data part in transfer. <a href="group__i2c.html#gab6f24da9a64df1851fa747111365722a">More...</a><br /></td></tr>
<tr class="separator:gab6f24da9a64df1851fa747111365722a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This file provides following mbed I2C API. </p>
<p>mbed Microcontroller Library</p>
<dl class="section author"><dt>Author</dt><dd></dd></dl>
<dl class="section version"><dt>Version</dt><dd>V1.0.0 </dd></dl>
<dl class="section attention"><dt>Attention</dt><dd></dd></dl>
<p>Copyright (c) 2006-2013 ARM Limited</p>
<p>Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at </p><pre class="fragment">http://www.apache.org/licenses/LICENSE-2.0
</pre><p>Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. </p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>