Moxa Technologies UC-7420/7410 Example to set the baud rate, Example to get the baud rate

Page 85

UC-7420/7410 User’s Manual

Programmer’s Guide

UART

The normal tty device node is located at /dev/ttyM0 … ttyM7, and the modem tty device node is located at /dev/cum0 … cum7.

UC-7420/7410 supports Linux standard termios control. The Moxa UART Device API allows you to configure ttyM0 to ttyM7 as RS-232, RS-422, 4-wire RS-485, or 2-wire RS-485. UC-7420/7410 supports RS-232, RS-422, 2-wire RS-485, and 4-wire RS485.

You must include <moxadevice.h>.

#define RS232_MODE

0

1

#define RS485_2WIRE_MODE

#define

RS422_MODE

2

3

#define

RS485_4WIRE_MODE

1.Function: MOXA_SET_OP_MODE

int ioctl(fd, MOXA_SET_OP_MODE, &mode)

Description

Set the interface mode. Argument 3 mode will pass to the UART device driver and change it.

2.Function: MOXA_GET_OP_MODE

int ioctl(fd, MOXA_GET_OP_MODE, &mode)

Description

Get the interface mode. Argument 3 mode will return the interface mode. There are two Moxa private ioctl commands for setting up special baud rates.

Function: MOXA_SET_SPECIAL_BAUD_RATE

Function: MOXA_GET_SPECIAL_BAUD_RATE

If you use this ioctl to set a special baud rate, the termios cflag will be B4000000, in which case the B4000000 define will be different. If the baud rate you get from termios (or from calling tcgetattr()) is B4000000, you must call ioctl with MOXA_GET_SPECIAL_BAUD_RATE to get the actual baud rate.

Example to set the baud rate

#include

<moxadevice.h>

#include

<termios.h>

struct termios term;

int

fd, speed;

fd = open(“/dev/ttyM0”, O_RDWR); tcgetattr(fd, &term); term.c_cflag &= ~(CBAUD CBAUDEX); term.c_cflag = B4000000; tcsetattr(fd, TCSANOW, &term); speed = 500000;

ioctl(fd, MOXA_SET_SPECIAL_BAUD_RATE, &speed);

Example to get the baud rate

#include

<moxadevice.h>

#include

<termios.h>

struct termiosterm;

int

fd, speed;

fd = open(“/dev/ttyM0”, O_RDWR); tcgetattr(fd, &term);

if ( (term.c_cflag & (CBAUDCBAUDEX)) != B4000000 ) {

//follow the standard termios baud rate define

}else {

ioctl(fd, MOXA_GET_SPECIAL_BAUD_RATE, &speed);

}

5-9

Image 85
Contents Third Edition, June UC-7420/7410 User’s ManualTrademarks Copyright NoticeDisclaimer Table of Contents Chapter UC Finder Appendix B Windows Tool Chain Introduction ‰ Hardware Introduction IntroductionProduct Features Package ChecklistOverview UC-7410-LXProduct Hardware Specifications Hardware Introduction Appearance and DimensionsAppearance Dimensions LED Indicators Hardware Block DiagramLED Name Color Meaning Reset Button Reset-type ButtonsReset to default Button Real Time ClockWall or Cabinet Placement OptionsHardware Connection Description Wiring RequirementsDIN-Rail Mounting Connecting to the Network Connecting the PowerPin Signal Grounding UC-7420/7410Connecting to the Console Port Connecting to a Serial DeviceCompactFlash Pin RS-232 RS-422 RS-485Software Architecture Software IntroductionSoftware Package Journaling Flash File System JFFS2Software Version Comparison Table Directory Change Protocol stacks and utilitiesGetting Started ‰ Configuring the Ethernet InterfaceConnecting UC-7420/7410 to a PC Powering on UC-7420/7410Serial Console Telnet Console Default IP Address Netmask192.168.3.127 255.255.255.0 192.168.4.127 255.255.255.0Windows Users SSH ConsoleModifying Network Settings with the Serial Console Configuring the Ethernet InterfaceLinux Users Static IP addressesDynamic IP addresses Modifying Network Settings over the Network Configuring the Wlan via the Pcmcia InterfaceDefault IP address is 192.168.5.127, netmask IEEE802.11b#vi /etc/wlan/wlancfg-any IEEE802.11g Setting Setting ExplanationKey1Str, Key2Str, Key3Str, Key4Str-Sets strings Key1 to Key4 TurboRate-Enables or disables TurboRate Test Program-Developing Hello.c Installing the Tool Chain LinuxChecking the Flash Memory Space StepYou should receive the following response Compiling Hello.cDeveloping Your First Application Testing EnvironmentUploading Hello to UC-7420/7410 and Running the Program #mount -t iso9660 /dev/cdrom /mnt/cdrom Compiling tcps2.cPuTTY Uploading tcps2-release and Running the Program#jobs // use this command to check if the program is running UC-7420/7410 User’s Manual Testing Procedure SummaryUC-7420/7410 User’s Manual Managing Embedded Linux ‰ System Version Information ‰ System Image BackupSystem Version Information System Image BackupUpgrading the Firmware Upgrading the firmware will erase all data on the Flash ROM#upramdisk #cd /mnt/ramdisk Loading Factory Defaults Firmware versions earlier than V1.5 not including Backing Up the User File SystemFirmware version V1.5 and later versions Enabling and Disabling Daemons UC-7420/7410 User’s Manual Managing Embedded Linux Setting the Run-Level Setting the Time Manually Adjusting the System TimeNTP Client Example shell script to update the system time periodicallyUpdating the Time Automatically Change mode of fixtime.sh Cron-daemon to Execute Scheduled CommandsEnable the cron daemon manually Enable cron when the system boots upUSB Mass Storage Connecting PeripheralsCF Mass Storage ‰ Iptables ‰ NAT Managing CommunicationsTelnet / FTP Web Service-ApacheEnabling the Telnet/ftp server Disabling the Telnet/ftp serverUsr/www/cgi-bin Saving a Web Page to the CF Card Use the following commands to restart the Apache web server Iptables Local Host Packets Define policy for chain rules Observe and erase chain rulesUsage ExamplesIptmac Append or delete rulesNAT Example Enabling NAT at BootupDial-up Service-PPP Example 2 Connecting to a PPP server over a hard-wired link UP Loopback Running How to check the connectionSetting up a Machine for Incoming PPP Connections Setting up UC-7420/7410 as an NFS ServerNFS Network File System #vi /etc/exportsSetting up UC-7420/7410 as an NFS Client Steps 2 MailOpen VPN Internet IFS=‘ Create link symbols to enable this script at boot time Destination Gateway Genmsk Flags Metric Use Iface Now ping Host B from Host a by typing Setup 3 Routed IP Destination Gateway Genmsk Flags Metric Use Iface Programmer’s Guide Flash Memory Map Address Size ContentsLinux Tool Chain Introduction Obtaining help Debugging with GDBCross Compiling Applications and Libraries Tools Available in the Host EnvironmentRTC Real Time Clock Device APIBuzzer WDT Watch Dog Timer Input Int fd File handle from swtdopen return value Output User application example Example Special NoteSwtddisableswtdfd Int mainint argc, char *argv Pidt sonpid Example to get the baud rate Example to set the baud rateBaud rate inaccuracy KeyPadSpecial Note ExamplesMake File Example UC Finder Windows UC Finder Installing the SoftwareUC-7420/7410 User’s Manual UC Finder Broadcast Search Linux ucfinder Busybox V0.60.4 Linux normal command utility collection System CommandsFile manager EditorOther ProcessMoxa special utilities Windows Tool Chain Introduction Introduction Select the Root Directory Installation ProcedureUC-7420/7410 User’s Manual Windows Tool Chain Introduction UC-7420/7410 User’s Manual Windows Tool Chain Introduction Using the Bash Shell UC-7420/7410 User’s Manual Windows Tool Chain Introduction GDB debug tool-InsightUC-7420/7410 User’s Manual Windows Tool Chain Introduction Service Information Following services are provided Moxa Internet ServicesMoxa Product † UC-7410-LX † UC-7420-LX Serial Number Problem Report FormProduct Return Procedure