Difference between revisions of "Serial Open"

From WikiPrizm
Jump to navigationJump to search
(Created page with '{{subst:syscall|Serial_Open|0x1BB7|int Serial_Open(unsigned char *mode)}}')
 
Line 5: Line 5:
 
'''Function signature:''' int Serial_Open(unsigned char *mode)
 
'''Function signature:''' int Serial_Open(unsigned char *mode)
  
=== Inputs ===
+
== Inputs ==
 +
'''mode''': a 6-byte array specifying the desired communication parameters.  Summarized in the table below.
 +
{|
 +
! Index
 +
! Description
 +
! Values
 +
|-
 +
| 0 || Unknown || Always 0
 +
|-
 +
| 1 || Bit rate ||
 +
{|
 +
! Value
 +
! Rate
 +
|-
 +
| 0 || 300
 +
|-
 +
| 1 || 600
 +
|-
 +
| 2 || 1200
 +
|-
 +
| 3 || 2400
 +
|-
 +
| 4 || 4800
 +
|-
 +
| 5 || 9600
 +
|-
 +
| 6 || 19200
 +
|-
 +
| 7 || 38400
 +
|-
 +
| 8 || 57600
 +
|-
 +
| 9 || 115200
 +
|}
 +
|-
 +
| 2 || Parity ||
 +
{|
 +
! Value
 +
! Parity
 +
|-
 +
| 0 || None
 +
|-
 +
| 1 || Odd
 +
|-
 +
| 2 || Even
 +
|}
 +
|-
 +
| 3 || Data length ||
 +
{|
 +
! Value
 +
! Length (bits)
 +
|-
 +
| 0 || 8
 +
|-
 +
| 1 || 7
 +
|}
 +
|-
 +
| 4 || Stop bits ||
 +
{|
 +
! Value
 +
! Stop bits
 +
|-
 +
| 0 || 1
 +
|-
 +
| 1 || 2
 +
|}
 +
|-
 +
| 5 || Unused || Always 0
 +
|}
  
  
=== Outputs ===
+
== Outputs ==
 +
Returns 0 for success, 3 if the serial port is already open, and 4 if the byte at index 0 was not 0.
  
 
+
== Example ==
== Comments ==
+
Check if the serial port is already open, and configure it for 9600 bps 8n1 operation if not.
 +
if (Serial_IsOpen() != 1) {
 +
    unsigned char mode[6] = {0, 5, 0, 0, 0, 0};    // 9600 bps 8n1
 +
    Serial_Open(mode);
 +
}

Revision as of 11:36, 14 May 2012

Synopsis

Syscall index: 0x1BB7

Function signature: int Serial_Open(unsigned char *mode)

Inputs

mode: a 6-byte array specifying the desired communication parameters. Summarized in the table below.

Index Description Values
0 Unknown Always 0
1 Bit rate
Value Rate
0 300
1 600
2 1200
3 2400
4 4800
5 9600
6 19200
7 38400
8 57600
9 115200
2 Parity
Value Parity
0 None
1 Odd
2 Even
3 Data length
Value Length (bits)
0 8
1 7
4 Stop bits
Value Stop bits
0 1
1 2
5 Unused Always 0


Outputs

Returns 0 for success, 3 if the serial port is already open, and 4 if the byte at index 0 was not 0.

Example

Check if the serial port is already open, and configure it for 9600 bps 8n1 operation if not.

if (Serial_IsOpen() != 1) {
    unsigned char mode[6] = {0, 5, 0, 0, 0, 0};    // 9600 bps 8n1
    Serial_Open(mode);
}