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)}}') |
|||
(3 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{syscall |
− | == | + | | name = Serial_Open |
− | ''' | + | | header = fxcg/serial.h |
− | + | | index = 0x1BB7 | |
− | ''' | + | | signature = int Serial_Open(unsigned char* mode) |
− | + | | synopsis = Opens the 3-pin serial port with the specified parameters. | |
− | + | | parameters = * '''mode''' - pointer to a six-byte array containing the settings for the serial port: | |
− | + | {{{!}} | |
− | + | ! 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 | ||
+ | {{!}}} | ||
+ | | returns = * 0 if successful; | ||
+ | * 3 if the serial port is already open; | ||
+ | * 4 if '''mode'''[0] is not zero. | ||
+ | | 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); | ||
+ | } | ||
+ | }} | ||
+ | [[Category:Syscalls:Serial]] |
Latest revision as of 06:20, 1 August 2014
Contents
Synopsis
Header: fxcg/serial.h
Syscall index: 0x1BB7
Function signature: int Serial_Open(unsigned char* mode)
Opens the 3-pin serial port with the specified parameters.
Parameters
- mode - pointer to a six-byte array containing the settings for the serial port:
Index | Description | Values | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Unknown | Always 0 | ||||||||||||||||||||||
1 | Bit rate |
| ||||||||||||||||||||||
2 | Parity |
| ||||||||||||||||||||||
3 | Data length |
| ||||||||||||||||||||||
4 | Stop bits |
| ||||||||||||||||||||||
5 | Unused | Always 0 |
Returns
- 0 if successful;
- 3 if the serial port is already open;
- 4 if mode[0] is not zero.
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); }