?? uart2_8c.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: uart2.c 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 Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div><h1>uart2.c File Reference</h1>Dual UART driver with buffer support. <a href="#_details">More...</a><p><code>#include <avr/io.h></code><br><code>#include <avr/interrupt.h></code><br><code>#include <avr/signal.h></code><br><code>#include "<a class="el" href="buffer_8h-source.html">buffer.h</a>"</code><br><code>#include "<a class="el" href="uart2_8h-source.html">uart2.h</a>"</code><br><p><a href="uart2_8c-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>Typedefs</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a9" doxytag="uart2.c::voidFuncPtru08" ></a>typedef void(* </td><td class="memItemRight" valign=bottom><b>voidFuncPtru08</b> )(unsigned char)</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="a11" doxytag="uart2.c::uartInit" ></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a11">uartInit</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">initializes both uarts <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a12" doxytag="uart2.c::uart0Init" ></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a12">uart0Init</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">initializes UART0 only <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a13" doxytag="uart2.c::uart1Init" ></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a13">uart1Init</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">initializes UART1 only <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a14" doxytag="uart2.c::uart0InitBuffers" ></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a14">uart0InitBuffers</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">initializes transmit and receive buffers <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a15" doxytag="uart2.c::uart1InitBuffers" ></a>void </td><td class="memItemRight" valign=bottom><b>uart1InitBuffers</b> (void)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a16" doxytag="uart2.c::uartSetRxHandler" ></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a16">uartSetRxHandler</a> (u08 nUart, void(*rx_func)(unsigned char c))</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">redirects received data to a user function <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a17" doxytag="uart2.c::uartSetBaudRate" ></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a17">uartSetBaudRate</a> (u08 nUart, u32 baudrate)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">sets the uart baud rate <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a18" doxytag="uart2.c::uartGetRxBuffer" ></a>cBuffer * </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a18">uartGetRxBuffer</a> (u08 nUart)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns pointer to the receive buffer structure <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a19" doxytag="uart2.c::uartGetTxBuffer" ></a>cBuffer * </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a19">uartGetTxBuffer</a> (u08 nUart)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns pointer to the transmit buffer structure <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a20" doxytag="uart2.c::uartSendByte" ></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a20">uartSendByte</a> (u08 nUart, u08 txData)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">sends a single byte over the uart <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a21" doxytag="uart2.c::uart0SendByte" ></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a21">uart0SendByte</a> (u08 data)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">SendByte commands with the UART number hardcoded. <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a22" doxytag="uart2.c::uart1SendByte" ></a>void </td><td class="memItemRight" valign=bottom><b>uart1SendByte</b> (u08 data)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a23" doxytag="uart2.c::uart0GetByte" ></a>int </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a23">uart0GetByte</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">gets a single byte from the uart receive buffer (getchar-style) <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a24" doxytag="uart2.c::uart1GetByte" ></a>int </td><td class="memItemRight" valign=bottom><b>uart1GetByte</b> (void)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a25" doxytag="uart2.c::uartReceiveByte" ></a>u08 </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a25">uartReceiveByte</a> (u08 nUart, u08 *rxData)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">gets a single byte from the uart receive buffer <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a26" doxytag="uart2.c::uartFlushReceiveBuffer" ></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a26">uartFlushReceiveBuffer</a> (u08 nUart)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">flushes (deletes) all data from receive buffer <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a27" doxytag="uart2.c::uartReceiveBufferIsEmpty" ></a>u08 </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a27">uartReceiveBufferIsEmpty</a> (u08 nUart)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns TRUE/FALSE if receive buffer is empty/not-empty <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a28" doxytag="uart2.c::uartAddToTxBuffer" ></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a28">uartAddToTxBuffer</a> (u08 nUart, u08 data)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">add byte to end of uart Tx buffer <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a29" doxytag="uart2.c::uart0AddToTxBuffer" ></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a29">uart0AddToTxBuffer</a> (u08 data)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">AddToTxBuffer commands with the UART number hardcoded. <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a30" doxytag="uart2.c::uart1AddToTxBuffer" ></a>void </td><td class="memItemRight" valign=bottom><b>uart1AddToTxBuffer</b> (u08 data)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a31" doxytag="uart2.c::uartSendTxBuffer" ></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a31">uartSendTxBuffer</a> (u08 nUart)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">begins transmission of the transmit buffer under interrupt control <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a32" doxytag="uart2.c::uartSendBuffer" ></a>u08 </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a32">uartSendBuffer</a> (u08 nUart, char *buffer, u16 nBytes)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">sends a buffer of length nBytes via the uart using interrupt control <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a33" doxytag="uart2.c::uartTransmitService" ></a>void </td><td class="memItemRight" valign=bottom><a class="el" href="uart2_8c.html#a33">uartTransmitService</a> (u08 nUart)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">interrupt service handlers <br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a34" doxytag="uart2.c::uartReceiveService" ></a>void </td><td class="memItemRight" valign=bottom><b>uartReceiveService</b> (u08 nUart)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a35" doxytag="uart2.c::UART_INTERRUPT_HANDLER" ></a> </td><td class="memItemRight" valign=bottom><b>UART_INTERRUPT_HANDLER</b> (SIG_UART0_TRANS)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a36" doxytag="uart2.c::UART_INTERRUPT_HANDLER" ></a> </td><td class="memItemRight" valign=bottom><b>UART_INTERRUPT_HANDLER</b> (SIG_UART1_TRANS)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a37" doxytag="uart2.c::UART_INTERRUPT_HANDLER" ></a> </td><td class="memItemRight" valign=bottom><b>UART_INTERRUPT_HANDLER</b> (SIG_UART0_RECV)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a38" doxytag="uart2.c::UART_INTERRUPT_HANDLER" ></a> </td><td class="memItemRight" valign=bottom><b>UART_INTERRUPT_HANDLER</b> (SIG_UART1_RECV)</td></tr><tr><td colspan=2><br><h2>Variables</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a0" doxytag="uart2.c::uartReadyTx" ></a>volatile u08 </td><td class="memItemRight" valign=bottom><b>uartReadyTx</b> [2]</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a1" doxytag="uart2.c::uartBufferedTx" ></a>volatile u08 </td><td class="memItemRight" valign=bottom><b>uartBufferedTx</b> [2]</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a2" doxytag="uart2.c::uartRxBuffer" ></a>cBuffer </td><td class="memItemRight" valign=bottom><b>uartRxBuffer</b> [2]</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a3" doxytag="uart2.c::uartTxBuffer" ></a>cBuffer </td><td class="memItemRight" valign=bottom><b>uartTxBuffer</b> [2]</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a4" doxytag="uart2.c::uartRxOverflow" ></a>unsigned short </td><td class="memItemRight" valign=bottom><b>uartRxOverflow</b> [2]</td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>Dual UART driver with buffer support. <p><p>Definition in file <a class="el" href="uart2_8c-source.html">uart2.c</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 + -