⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 i2c_8h.html

📁 ATMEL的AVR单片机库文件
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Procyon AVRlib: i2c.h File Reference</title><link href="dox.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.6 --><div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a></div><h1>i2c.h File Reference</h1>I2C interface using AVR Two-Wire Interface (TWI) hardware.  <a href="#_details">More...</a><p><code>#include &lt;avr/twi.h&gt;</code><br><code>#include "<a class="el" href="global_8h-source.html">global.h</a>"</code><br><code>#include "<a class="el" href="i2cconf_8h-source.html">i2cconf.h</a>"</code><br><p><a href="i2c_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Defines</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a0" doxytag="i2c.h::TWCR_CMD_MASK" ></a>#define&nbsp;</td><td class="memItemRight" valign=bottom><b>TWCR_CMD_MASK</b>&nbsp;&nbsp;&nbsp;0x0F</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a1" doxytag="i2c.h::TWSR_STATUS_MASK" ></a>#define&nbsp;</td><td class="memItemRight" valign=bottom><b>TWSR_STATUS_MASK</b>&nbsp;&nbsp;&nbsp;0xF8</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a2" doxytag="i2c.h::I2C_OK" ></a>#define&nbsp;</td><td class="memItemRight" valign=bottom><b>I2C_OK</b>&nbsp;&nbsp;&nbsp;0x00</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a3" doxytag="i2c.h::I2C_ERROR_NODEV" ></a>#define&nbsp;</td><td class="memItemRight" valign=bottom><b>I2C_ERROR_NODEV</b>&nbsp;&nbsp;&nbsp;0x01</td></tr><tr><td colspan=2><br><h2>Enumerations</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><b>eI2cStateType</b> { <br>&nbsp;&nbsp;<b>I2C_IDLE</b> =  0, <b>I2C_BUSY</b> =  1, <b>I2C_MASTER_TX</b> =  2, <b>I2C_MASTER_RX</b> =  3, <br>&nbsp;&nbsp;<b>I2C_SLAVE_TX</b> =  4, <b>I2C_SLAVE_RX</b> =  5<br> }</td></tr><tr><td colspan=2><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a10" doxytag="i2c.h::i2cInit" ></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="i2c_8h.html#a10">i2cInit</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize I2C (TWI) interface. <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a11" doxytag="i2c.h::i2cSetBitrate" ></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="i2c_8h.html#a11">i2cSetBitrate</a> (u16 bitrateKHz)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the I2C transaction bitrate (in KHz). <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a12" doxytag="i2c.h::i2cSetLocalDeviceAddr" ></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="i2c_8h.html#a12">i2cSetLocalDeviceAddr</a> (u08 deviceAddr, u08 genCallEn)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the local (AVR processor's) I2C device address. <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a13" doxytag="i2c.h::i2cSetSlaveReceiveHandler" ></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="i2c_8h.html#a13">i2cSetSlaveReceiveHandler</a> (void(*i2cSlaveRx_func)(u08 receiveDataLength, u08 *recieveData))</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the user function which handles receiving (incoming) data as a slave. <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a14" doxytag="i2c.h::i2cSetSlaveTransmitHandler" ></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="i2c_8h.html#a14">i2cSetSlaveTransmitHandler</a> (u08(*i2cSlaveTx_func)(u08 transmitDataLengthMax, u08 *transmitData))</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the user function which handles transmitting (outgoing) data as a slave. <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a15" doxytag="i2c.h::i2cSendStart" ></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="i2c_8h.html#a15">i2cSendStart</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send an I2C start condition in Master mode. <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a16" doxytag="i2c.h::i2cSendStop" ></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="i2c_8h.html#a16">i2cSendStop</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send an I2C stop condition in Master mode. <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a17" doxytag="i2c.h::i2cWaitForComplete" ></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="i2c_8h.html#a17">i2cWaitForComplete</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wait for current I2C operation to complete. <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a18" doxytag="i2c.h::i2cSendByte" ></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="i2c_8h.html#a18">i2cSendByte</a> (u08 data)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send an (address|R/W) combination or a data byte over I2C. <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a19" doxytag="i2c.h::i2cReceiveByte" ></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="i2c_8h.html#a19">i2cReceiveByte</a> (u08 ackFlag)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Receive a data byte over I2C. <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a20" doxytag="i2c.h::i2cGetReceivedByte" ></a>u08&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="i2c_8h.html#a20">i2cGetReceivedByte</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pick up the data that was received with <a class="el" href="i2c_8c.html#a19">i2cReceiveByte()</a>. <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a21" doxytag="i2c.h::i2cGetStatus" ></a>u08&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="i2c_8h.html#a21">i2cGetStatus</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get current I2c bus status from TWSR. <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a22" doxytag="i2c.h::i2cMasterSend" ></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="i2c_8h.html#a22">i2cMasterSend</a> (u08 deviceAddr, u08 length, u08 *data)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send I2C data to a device on the bus <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a23" doxytag="i2c.h::i2cMasterReceive" ></a>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="i2c_8h.html#a23">i2cMasterReceive</a> (u08 deviceAddr, u08 length, u08 *data)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">receive I2C data from a device on the bus <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a24" doxytag="i2c.h::i2cMasterSendNI" ></a>u08&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="i2c_8h.html#a24">i2cMasterSendNI</a> (u08 deviceAddr, u08 length, u08 *data)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send I2C data to a device on the bus (non-interrupt based) <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a25" doxytag="i2c.h::i2cMasterReceiveNI" ></a>u08&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="i2c_8h.html#a25">i2cMasterReceiveNI</a> (u08 deviceAddr, u08 length, u08 *data)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">receive I2C data from a device on the bus (non-interrupt based) <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a26" doxytag="i2c.h::i2cGetState" ></a>eI2cStateType&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="i2c_8h.html#a26">i2cGetState</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current high-level state of the I2C interface. <br><br></td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>I2C interface using AVR Two-Wire Interface (TWI) hardware. <p><p>Definition in file <a class="el" href="i2c_8h-source.html">i2c.h</a>.<hr size="1"><address style="align: right;"><small>Generated on Fri Oct 15 03:50:23 2004 for Procyon AVRlib by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.6 </small></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -