Example serial
This is a guide to the serial
C example project included in the EMAC OE SDK.
This application sets up and tests asynchronous IO on a serial port using poll() and fasync().
The serial
project builds one executable: serial_test
.
Contents
Opening, Building and Uploading the Project Files
For information on opening the project from within Eclipse, please see Importing the EMAC OE SDK Projects with Eclipse. Then, follow Using the EMAC OE SDK Projects with Eclipse for information on how to build, upload and execute the example.
Alternatively, the Makefile
can be used with the make
command from the commandline to build and upload the example. For information on this method, please see Using EMAC OE SDK Example Projects.
EMAC SDK 5.X
For information on opening the project from within QtCreator, please see QtCreator: Adding Source Files. Then, follow Getting Started With Qt Creator for information on how to build, upload and execute the example.
Alternatively, the CMakefile.txt
can be used with the cmake
command from the commandline to build and upload the example. For information on this method, please see Getting Started with the EMAC OE SDK.
Code can be found at http://git.emacinc.com/OE/example-projects
Usage and Behavior
serial_test
performs an asynchronous IO test on the specified serial device using either poll or FASYNC mode. It performs the test, reports, tests, report, etc. It will keep running until it is stopped manually via CTRL-C.
Hardware Requirements
It should run just fine on any device with a serial port.
Using serial_test
./serial_test DEVICE -[p] [-f]
- DEVICE
- The serial device to use
- -p
- Use poll mode for asynchronous IO
- -f
- Use FASYNC mode for asynchronous IO
Usage Example: Test asynchronous IO using the poll mode
Perform the test on device /dev/ttyS1
root@som9g20:/tmp# ./serial_test /dev/ttyS1 -p
Testing on /dev/ttyS1 using poll()
Received: : 21
Received: : 11
Received: : 6
Received: : 2
Received: : 1
Received: : 1
.
.
.
Received: : 1
Received: : 1
Received: : 1
^C
Hit CTRL-C to stop testing. In this example, no errors were reported.
Usage Example. Test asynchronous IO using the FASYNC mode
Perform the test on device /dev/ttyS1
root@som9g20:/tmp# ./serial_test /dev/ttyS1 -f
Testing on /dev/ttyS1 using FASYNC
Received SIGIO signal.
: : 21
Received SIGIO signal.
: : 11
Received SIGIO signal.
: : 6
Received SIGIO signal.
: : 2
Received SIGIO signal.
: : 1
Received SIGIO signal.
: : 1
Received SIGIO signal.
: : 1
.
.
.
Received SIGIO signal.
: : 1
Received SIGIO signal.
: : 1
Received SIGIO signal.
: : 1
^C
Hit CTRL-C to stop testing. In this example, no errors were reported.
Summary
The serial
C example project application performs an asynchronous IO test on the specified serial device using either poll or FASYNC mode.