ARDUINO MEGA Functions Serial Link
From ROBOTC API Guide
| (14 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
| − | <yambe:breadcrumb>ARDUINO_MEGA_Functions_and_Variables|Functions and Variables</yambe:breadcrumb> | + | {{DISPLAYTITLE:2560 (MEGA) Serial Link Functions}} |
| + | <yambe:breadcrumb self="2560 (MEGA) Serial Link">ARDUINO_MEGA_Functions_and_Variables|Functions and Variables</yambe:breadcrumb> | ||
<br /> | <br /> | ||
| − | The Arduino MEGA has 4 serial ports - 1 reversed for the system and 3 user controllable serial ports. These serial ports can be configured in code | + | |
| + | The Arduino MEGA has 4 user serial ports - 1 reversed for the system and 3 user controllable serial ports. These serial ports can be configured in code or via the Motors and Sensor Setup window. The serial ports are buffered - a 70 byte receive buffer and a 40 byte transmit buffer. | ||
| + | |||
| + | [[File:SerialPortsMega.png]] | ||
{{tl|1|1}} | {{tl|1|1}} | ||
| Line 101: | Line 105: | ||
|<syntaxhighlight lang="robotc"> | |<syntaxhighlight lang="robotc"> | ||
setBaudRate(uartOne, baudRate9600); // retrieve the next char from UART Port 'uartOne' | setBaudRate(uartOne, baudRate9600); // retrieve the next char from UART Port 'uartOne' | ||
| + | </syntaxhighlight> | ||
| + | |- | ||
| + | |} | ||
| + | |- | ||
| + | |} | ||
| + | <br /> | ||
| + | |||
| + | == configureSerialPort == | ||
| + | {| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0" | ||
| + | |- | ||
| + | | class="functionType"| <span class="bigKeywordBI">void </span><span class="bigKeywordB">configureSerialPort</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const </span><span class="bigKeywordB">TUARTs </span><span class="bigCodeBasic">nPort</span><span class="bigCodePunc">, </span><span class="bigKeywordBI">TSerialPortMode </span><span class="bigCodeBasic">nMode</span><span class="bigCodePunc">)</span> | ||
| + | |- | ||
| + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_void|void]]) This function will manually configure the serial port for a specific mode (system, user, Xbee, VEX LCD, etc). You can also set this same functionality using the "Motors and Sensor Setup" window. | ||
| + | <br /> | ||
| + | |||
| + | {| class="parameterTable" cellpadding="5%" width="100%" | ||
| + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | ||
| + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | ||
| + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
| + | |- | ||
| + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''nPort'' | ||
| + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|A sensor port or name | ||
| + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_TUARTs|TUARTs]] | ||
| + | |- | ||
| + | | style="border-style: solid; border-width: 0px 0px 0px 0px"|''TSerialPortMode'' | ||
| + | | style="border-style: solid; border-width: 0px 0px 0px 0px"|The type of the serial device attached to this pin. | ||
| + | | style="border-style: solid; border-width: 0px 0px 0px 0px"|[[Data_Types#dataType_TSerialPortMode|TSerialPortMode]] | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | |||
| + | {| | ||
| + | |- | ||
| + | |<syntaxhighlight lang="robotc"> | ||
| + | configureSerialPort(UART1, uartUserControl); //Configures UART1 as a User Control Serial Port | ||
| + | </syntaxhighlight> | ||
| + | |- | ||
| + | |} | ||
| + | |- | ||
| + | |} | ||
| + | <br /> | ||
| + | |||
| + | == bXmitComplete == | ||
| + | {| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0" | ||
| + | |- | ||
| + | | class="functionType"| <span class="bigKeywordBI">bool </span><span class="bigKeywordB">bXmitComplete</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const </span><span class="bigKeywordB">TUARTs </span><span class="bigCodeBasic">nPort</span><span class="bigCodePunc">)</span> | ||
| + | |- | ||
| + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_bool|bool]]) Function will return if the transmit (Xmit) buffer is empty. | ||
| + | |||
| + | |||
| + | {| class="parameterTable" cellpadding="5%" width="100%" | ||
| + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | ||
| + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | ||
| + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
| + | |- | ||
| + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''nPort'' | ||
| + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|A sensor port or name | ||
| + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_TUARTs|TUARTs]] | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | |||
| + | {| | ||
| + | |- | ||
| + | |<syntaxhighlight lang="robotc"> | ||
| + | sendChar(UART1, 'H'); //Send a character | ||
| + | if(!bXmitComplete(UART0)) //Wait until character has been transmitted | ||
| + | wait1Msec(1); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|- | |- | ||
Latest revision as of 13:54, 11 May 2012
ARDUINO → Functions and Variables → 2560 (MEGA) Serial Link
The Arduino MEGA has 4 user serial ports - 1 reversed for the system and 3 user controllable serial ports. These serial ports can be configured in code or via the Motors and Sensor Setup window. The serial ports are buffered - a 70 byte receive buffer and a 40 byte transmit buffer.
|
| |||||||
getChar
| short getChar(const TUARTs nPort) | |||||||
| (short) Function will retrieve the next character from the buffer that was sent to port 'nPort'.
|
sendChar
| void sendChar(const TUARTs nPort, short nChar) | ||||||||||
| (void) Function will send the next character to port 'nPort'.
|
setBaudRate
| void setBaudRate(const TUARTs nPort, TBaudRate nBaudRate) | ||||||||||
| (void) Function will set the Baud Rate for port 'nPort'.
Acceptable Baud Rates: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 200000, 230400 and 250000.
|
configureSerialPort
| void configureSerialPort(const TUARTs nPort, TSerialPortMode nMode) | ||||||||||
| (void) This function will manually configure the serial port for a specific mode (system, user, Xbee, VEX LCD, etc). You can also set this same functionality using the "Motors and Sensor Setup" window.
|
bXmitComplete
| bool bXmitComplete(const TUARTs nPort) | |||||||
| (bool) Function will return if the transmit (Xmit) buffer is empty.
|
