Advanced Search

المحرر موضوع: التعامل مع منفذ الكمبيوتر التوالى  (زيارة 5644 مرات)

0 الأعضاء و 1 ضيف يشاهدون هذا الموضوع.

يناير 09, 2004, 05:02:10 مساءاً
زيارة 5644 مرات

tyty

  • عضو مبتدى

  • *

  • 2
    مشاركة

    • مشاهدة الملف الشخصي
التعامل مع منفذ الكمبيوتر التوالى
« في: يناير 09, 2004, 05:02:10 مساءاً »
هل يمكن التعامل مع منفذ الكمبيوتر التوالى عن طريق الفيجوال بيزك

فبراير 16, 2004, 04:32:26 صباحاً
رد #1

عمار المهندس

  • عضو مبتدى

  • *

  • 31
    مشاركة

    • مشاهدة الملف الشخصي
التعامل مع منفذ الكمبيوتر التوالى
« رد #1 في: فبراير 16, 2004, 04:32:26 صباحاً »
نعم   '<img'>
بلاد الرافدين بلاد الحضارات على مر العصور

فبراير 17, 2004, 05:07:03 مساءاً
رد #2

salwanrawas

  • عضو متقدم

  • ****

  • 597
    مشاركة

  • هندسة الكترونية

    • مشاهدة الملف الشخصي
التعامل مع منفذ الكمبيوتر التوالى
« رد #2 في: فبراير 17, 2004, 05:07:03 مساءاً »
السؤال هام ..
هل لديك يا عمار المزيد ؟
م أحمد سلوان رواس

فبراير 18, 2004, 03:16:32 مساءاً
رد #3

Mgh

  • عضو خبير

  • *****

  • 3536
    مشاركة

    • مشاهدة الملف الشخصي
التعامل مع منفذ الكمبيوتر التوالى
« رد #3 في: فبراير 18, 2004, 03:16:32 مساءاً »
ياريت لو تعرف تقول لنا
هناك أشياء جميلة في حياتنا لكننا لانراها لاننا لانكلف أنفسنا محاولة النظر اليها.. وربما تشابه الايام والروتين يحجب الرؤية عنها

أبريل 14, 2004, 04:42:17 صباحاً
رد #4

E-Adrenaline

  • عضو مساعد

  • **

  • 211
    مشاركة

    • مشاهدة الملف الشخصي
التعامل مع منفذ الكمبيوتر التوالى
« رد #4 في: أبريل 14, 2004, 04:42:17 صباحاً »
Controlling Serial Port Instruments
 
This chapter describes specific issues related to controlling instruments that use the serial port. The sections are as follows.
Serial Port Overview   Basic features of the serial port.
Creating a Serial Port Object   The serial port object establishes a connection between MATLAB and the instrument via serial port.
Configuring Communication Settings   Communication settings are associated with the baud rate and serial data format.
Writing and Reading Data   Port-specific issues related to writing and reading data with a serial port object.
Events and Callbacks   Enhance your instrument control application using events and callbacks.
Using Control Pins   The control pins allow you to signal the presence of connected devices and to control the flow of data.
Serial Port Overview
This section provides an overview of the serial port. Topics include
·   What is Serial Communication?
·   The Serial Port Interface Standard
·   Connecting Two Devices with a Serial Cable
·   Serial Port Signals and Pin Assignments
·   Serial Data Format
·   Finding Serial Port Information for Your Platform
For many serial port applications, you can communicate with your instrument without detailed knowledge of how the serial port works. Communication is established through a serial port object, which you create in the MATLAB workspace.
If your application is straightforward, or if you are already familiar with the topics mentioned above, you might want to begin with Creating a Serial Port Object. If you want a high-level description of all the steps you are likely to take when communicating with your instrument, refer to The Instrument Control Session.
What Is Serial Communication?
Serial communication is the most common low-level protocol for communicating between two or more devices. Normally, one device is a computer, while the other device can be a modem, a printer, another computer, or a scientific instrument such as an oscilloscope or a function generator.
As the name suggests, the serial port sends and receives bytes of information in a serial fashion -- one bit at a time. These bytes are transmitted using either a binary format or a text (ASCII) format.

The Serial Port Interface Standard
Over the years, several serial port interface standards for connecting computers to peripheral devices have been developed. These standards include RS-232, RS-422, and RS-485 -- all of which are supported by the serial port object. Of these, the most widely used standard is RS-232, which stands for Recommended Standard number 232.
The current version of this standard is designated as TIA/EIA-232C, which is published by the Telecommunications Industry Association. However, the term "RS-232" is still in popular use, and is used in this guide when referring to a serial communication port that follows the TIA/EIA-232 standard. RS-232 defines these serial port characteristics:
·   The maximum bit transfer rate and cable length
·   The names, electrical characteristics, and functions of signals
·   The mechanical connections and pin assignments
Primary communication is accomplished using three pins: the Transmit Data pin, the Receive Data pin, and the Ground pin. Other pins are available for data flow control, but are not required.
Note    In this guide, it is assumed you are using the RS-232 standard. Refer to your device documentation to see which interface standard you can use.
Connecting Two Devices with a Serial Cable
The RS-232 standard defines the two devices connected with a serial cable as the Data Terminal Equipment (DTE) and Data Circuit-Terminating Equipment (DCE). This terminology reflects the RS-232 origin as a standard for communication between a computer terminal and a modem.
Throughout this guide, your computer is considered a DTE, while peripheral devices such as modems and printers are considered DCEs. Note that many scientific instruments function as DTEs.
Because RS-232 mainly involves connecting a DTE to a DCE, the pin assignments are defined such that straight-through cabling is used, where pin 1 is connected to pin 1, pin 2 is connected to pin 2, and so on. A DTE to DCE serial connection using the transmit data (TD) pin and the receive data (RD) pin is shown below. Refer to Serial Port Signals and Pin Assignments for more information about serial port pins.

 
If you connect two DTEs or two DCEs using a straight serial cable, then the TD pin on each device is connected to the other, and the RD pin on each device is connected to the other. Therefore, to connect two like devices, you must use a null modem cable. As shown below, null modem cables cross the transmit and receive lines in the cable.

 
Note    You can connect multiple RS-422 or RS-485 devices to a serial port. If you have an RS-232/RS-485 adaptor, then you can use the serial port object with these devices.

Serial Port Signals and Pin Assignments
Serial ports consist of two signal types: data signals and control signals. To support these signal types, as well as the signal ground, the RS-232 standard defines a 25-pin connection. However, most PC's and UNIX platforms use a 9-pin connection. In fact, only three pins are required for serial port communications: one for receiving data, one for transmitting data, and one for the signal ground.
The pin assignment scheme for a 9-pin male connector on a DTE is given below.

 
The pins and signals associated with the 9-pin connector are described below. Refer to the RS-232 standard for a description of the signals and pin assignments used for a 25-pin connector.
Table 5-1: Serial Port Pin and Signal Assignments  
Pin   Label   Signal Name   Signal Type
1   CD   Carrier Detect   Control
2   RD   Received Data   Data
3   TD   Transmitted Data   Data
4   DTR   Data Terminal Ready   Control
5   GND   Signal Ground   Ground
6   DSR   Data Set Ready   Control
7   RTS   Request to Send    Control
8   CTS   Clear to Send   Control
9   RI   Ring Indicator   Control

The term "data set" is synonymous with "modem" or "device," while the term "data terminal" is synonymous with "computer."
Note    The serial port pin and signal assignments are with respect to the DTE. For example, data is transmitted from the TD pin of the DTE to the RD pin of the DCE.
Signal States
Signals can be in either an active state or an inactive state. An active state corresponds to the binary value 1, while an inactive state corresponds to the binary value 0. An active signal state is often described as logic 1, on, true, or a mark. An inactive signal state is often described as logic 0, off, false, or a space.
For data signals, the "on" state occurs when the received signal voltage is more negative than -3 volts, while the "off" state occurs for voltages more positive than 3 volts. For control signals, the "on" state occurs when the received signal voltage is more positive than 3 volts, while the "off" state occurs for voltages more negative than -3 volts. The voltage between -3 volts and +3 volts is considered a transition region, and the signal state is undefined.
To bring the signal to the "on" state, the controlling device unasserts (or lowers) the value for data pins and asserts (or raises) the value for control pins. Conversely, to bring the signal to the "off" state, the controlling device asserts the value for data pins and unasserts the value for control pins.
The "on" and "off" states for a data signal and for a control signal are shown below.

 
The Data Pins
Most serial port devices support full-duplex communication meaning that they can send and receive data at the same time. Therefore, separate pins are used for transmitting and receiving data. For these devices, the TD, RD, and GND pins are used. However, some types of serial port devices support only one-way or half-duplex communications. For these devices, only the TD and GND pins are used. In this guide, it is assumed that a full-duplex serial port is connected to your device.
The TD pin carries data transmitted by a DTE to a DCE. The RD pin carries data that is received by a DTE from a DCE.
The Control Pins
9-pin serial ports provide several control pins that
·   Signal the presence of connected devices
·   Control the flow of data
The control pins include RTS and CTS, DTR and DSR, CD, and RI.
The RTS and CTS Pins.   The RTS and CTS pins are used to signal whether the devices are ready to send or receive data. This type of data flow control -- called hardware handshaking -- is used to prevent data loss during transmission. When enabled for both the DTE and DCE, hardware handshaking using RTS and CTS follows these steps:
1.   The DTE asserts the RTS pin to instruct the DCE that it is ready to receive data.
2.   The DCE asserts the CTS pin indicating that it is clear to send data over the TD pin. If data can no longer be sent, the CTS pin is unasserted.
3.   The data is transmitted to the DTE over the TD pin. If data can no longer be accepted, the RTS pin is unasserted by the DTE and the data transmission is stopped.
To enable hardware handshaking, refer to Controlling the Flow of Data: Handshaking.
The DTR and DSR Pins.   Many devices use the DSR and DTR pins to signal if they are connected and powered. Signaling the presence of connected devices using DTR and DSR follows these steps:
1.   The DTE asserts the DTR pin to request that the DCE connect to the communication line.
2.   The DCE asserts the DSR pin to indicate that it is connected.
3.   DCE unasserts the DSR pin when it is disconnected from the communication line.
The DTR and DSR pins were originally designed to provide an alternative method of hardware handshaking. However, the RTS and CTS pins are usually used in this way, and not the DSR and DTR pins. However, you should refer to your device documentation to determine its specific pin behavior.
The CD and RI Pins.   The CD and RI pins are typically used to indicate the presence of certain signals during modem-modem connections.
CD is used by a modem to signal that it has made a connection with another modem, or has detected a carrier tone. CD is asserted when the DCE is receiving a signal of a suitable frequency. CD is unasserted if the DCE is not receiving a suitable signal.
RI is used to indicate the presence of an audible ringing signal. RI is asserted when the DCE is receiving a ringing signal. RI is unasserted when the DCE is not receiving a ringing signal (for example, it's between rings).

Serial Data Format
The serial data format includes one start bit, between five and eight data bits, and one stop bit. A parity bit and an additional stop bit might be included in the format as well. The diagram below illustrates the serial data format.

 
The format for serial port data is often expressed using the following notation:
number of data bits - parity type - number of stop bits
For example, 8-N-1 is interpreted as eight data bits, no parity bit, and one stop bit, while 7-E-2 is interpreted as seven data bits, even parity, and two stop bits.
The data bits are often referred to as a character because these bits usually represent an ASCII character. The remaining bits are called framing bits because they frame the data bits.
Bytes Versus Values
The collection of bits that comprise the serial data format is called a byte. At first, this term might seem inaccurate because a byte is 8 bits and the serial data format can range between 7 bits and 12 bits. However, when serial data is stored on your computer, the framing bits are stripped away, and only the data bits are retained. Moreover, eight data bits are always used regardless of the number of data bits specified for transmission, with the unused bits assigned a value of 0.
When reading or writing data, you might need to specify a value, which can consist of one or more bytes. For example, if you read one value from a device using the int32 format, then that value consists of four bytes. For more information about reading and writing values, refer to Writing and Reading Data.
Synchronous and Asynchronous Communication
The RS-232 standard supports two types of communication protocols: synchronous and asynchronous.
Using the synchronous protocol, all transmitted bits are synchronized to a common clock signal. The two devices initially synchronize themselves to each other, and then continually send characters to stay synchronized. Even when actual data is not really being sent, a constant flow of bits allows each device to know where the other is at any given time. That is, each bit that is sent is either actual data or an idle character. Synchronous communications allows faster data transfer rates than asynchronous methods, because additional bits to mark the beginning and end of each data byte are not required.
Using the asynchronous protocol, each device uses its own internal clock resulting in bytes that are transferred at arbitrary times. So, instead of using time as a way to synchronize the bits, the data format is used.
In particular, the data transmission is synchronized using the start bit of the word, while one or more stop bits indicate the end of the word. The requirement to send these additional bits causes asynchronous communications to be slightly slower than synchronous. However, it has the advantage that the processor does not have to deal with the additional idle characters. Most serial ports operate asynchronously.
Note    When used in this guide, the terms "synchronous" and "asynchronous" refer to whether read or write operations block access to the MATLAB command line.
How Are the Bits Transmitted?
By definition, serial data is transmitted one bit at a time. The order in which the bits are transmitted follows these steps:
1.   The start bit is transmitted with a value of 0.
2.   The data bits are transmitted. The first data bit corresponds to the least significant bit (LSB), while the last data bit corresponds to the most significant bit (MSB).
3.   The parity bit (if defined) is transmitted.
4.   One or two stop bits are transmitted, each with a value of 1.
The number of bits transferred per second is given by the baud rate. The transferred bits include the start bit, the data bits, the parity bit (if defined), and the stop bits.
Start and Stop Bits
As described in Synchronous and Asynchronous Communication, most serial ports operate asynchronously. This means that the transmitted byte must be identified by start and stop bits. The start bit indicates when the data byte is about to begin and the stop bit(s) indicates when the data byte has been transferred. The process of identifying bytes with the serial data format follows these steps:
1.   When a serial port pin is idle (not transmitting data), then it is in an "on" state.
2.   When data is about to be transmitted, the serial port pin switches to an "off" state due to the start bit.
3.   The serial port pin switches back to an "on" state due to the stop bit(s). This indicates the end of the byte.
Data Bits
The data bits transferred through a serial port might represent device commands, sensor readings, error messages, and so on. The data can be transferred as either binary data or as text (ASCII) data.
Most serial ports use between five and eight data bits. Binary data is typically transmitted as eight bits. Text-based data is transmitted as either seven bits or eight bits. If the data is based on the ASCII character set, then a minimum of seven bits is required because there are 27 or 128 distinct characters. If an eighth bit is used, it must have a value of 0. If the data is based on the extended ASCII character set, then eight bits must be used because there are 28 or 256 distinct characters.
The Parity Bit
The parity bit provides simple error (parity) checking for the transmitted data. The types of parity checking are given below.
Table 5-2: Parity Types
Parity Type   Description
Even   The data bits plus the parity bit produce an even number of 1's.
Mark   The parity bit is always 1.
Odd   The data bits plus the parity bit produce an odd number of 1's.
Space   The parity bit is always 0.

Mark and space parity checking are seldom used because they offer minimal error detection. You might choose not to use parity checking at all.
The parity checking process follows these steps:
1.   The transmitting device sets the parity bit to 0 or to 1 depending on the data bit values and the type of parity checking selected.
2.   The receiving device checks if the parity bit is consistent with the transmitted data. If it is, then the data bits are accepted. If it is not, then an error is returned.
Note    Parity checking can detect only 1 bit errors. Multiple-bit errors can appear as valid data.
For example, suppose the data bits 01110001 are transmitted to your computer. If even parity is selected, then the parity bit is set to 0 by the transmitting device to produce an even number of 1s. If odd parity is selected, then the parity bit is set to 1 by the transmitting device to produce an odd number of 1s.

Finding Serial Port Information for Your Platform
This section describes how to find serial port information using the resources provided by Windows and UNIX platforms.
Note    Your operating system provides default values for all serial port settings. However, these settings are overridden by your MATLAB code, and will have no effect on your serial port application.
You can also use the instrhwinfo function to return the available serial ports programmatically.
Windows Platform
You can easily access serial port information through the Windows Control Panel. You can invoke the Control Panel with the Start button (Start -> Settings -> Control Panel).
For Windows NT, you access the serial ports by selecting the Ports icon within the Control Panel. The resulting Ports dialog box is shown below.

 
To obtain information on the possible settings for COM1, select this port under the Ports list box and then select Settings.

 
You can access serial port information for the Windows 98 and Windows 2000 operating systems with the System Properties dialog box, which is available through the Control Panel.
UNIX Platform
To find serial port information for UNIX platforms, you need to know the serial port names. These names might vary between different operating systems.
On Linux, serial port devices are typically named ttyS0, ttyS1, and so on. You can use the setserial command to display or configure serial port information. For example, to display which serial ports are available:
·   setserial -bg /dev/ttyS*
·   /dev/ttyS0 at 0x03f8 (irq = 4) is a 16550A
·   /dev/ttyS1 at 0x02f8 (irq = 3) is a 16550A
·   
To display detailed information about ttyS0:
·   setserial -ag /dev/ttyS0
·   /dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4
·           Baud_base: 115200, close_delay: 50, divisor: 0
·           closing_wait: 3000, closing_wait2: infinte
·           Flags: spd_normal skip_test session_lockout
·   
Note    If the setserial -ag command does not work, make sure that you have read and write permission for the port.
For all supported UNIX platforms, you can use the stty command to display or configure serial port information. For example, to display serial port properties for ttyS0:
·   stty -a < /dev/ttyS0
·   
To configure the baud rate to 4800 bits per second:
·   stty speed 4800 < /dev/ttyS0 > /dev/ttyS0
·   
Creating a Serial Port Object
You create a serial port object with the serial function. serial requires the name of the serial port connected to your device as an input argument. As described in Configuring Property Values, you can also configure property values during object creation.
Each serial port object is associated with one serial port. For example, to create a serial port object associated with the COM1 port:
·   s = serial('COM1');
·   
The serial port object s now exists in the MATLAB workspace. You can display the class of s with the whos command.
·   whos s
·     Name      Size         Bytes  Class
·   
·     s         1x1            512  serial object
·   
·   Grand total is 11 elements using 512 bytes
·   
Once the serial port object is created, the properties listed below are automatically assigned values. These general purpose properties provide descriptive information about the serial port object based on the object type and the serial port.
Table 5-3: Serial Port Descriptive Properties  
Property Name   Description
Name   Specify a descriptive name for the serial port object.
Port   Indicate the platform-specific serial port name.
Type   Indicate the object type.

You can display the values of these properties for s with the get function.
·   get(s,{'Name','Port','Type'})
·   ans =
·       'Serial-COM1'    'COM1'    'serial'
·   

The Serial Port Object Display
The serial port object provides you with a convenient display that summarizes important configuration and state information. You can invoke the display summary these three ways:
·   Type the serial port object variable name at the command line.
·   Exclude the semicolon when creating a serial port object.
·   Exclude the semicolon when configuring properties using the dot notation.
You can also display summary information via the Workspace browser by right-clicking an instrument object and selecting Explore -> Display Summary from the context menu.
The display summary for the serial port object s is given below.
·   Serial Port Object : Serial-COM1
·   
·   Communication Settings
·      Port:               COM1
·      BaudRate:           9600
·      Terminator:         'LF'
·   
·   Communication State
·      Status:             closed
·      RecordStatus:       off
·   
·   Read/Write State  
·      TransferStatus:     idle
·      BytesAvailable:     0
·      ValuesReceived:     0
·      ValuesSent:         0
·   

Configuring Communication Settings
Before you can write or read data, both the serial port object and the instrument must have identical communication settings. Configuring serial port communications involves specifying values for properties that control the baud rate and the serial data format. These properties are given below.
Table 5-4: Serial Port Communication Properties  
Property Name   Description
BaudRate   Specify the rate at which bits are transmitted.
DataBits   Specify the number of data bits to transmit.
Parity   Specify the type of parity checking.
StopBits   Specify the number of bits used to indicate the end of a byte.
Terminator   Specify the terminator character.

Note    If the serial port object and the instrument communication settings are not identical, then you cannot successfully read or write data.
Refer to your instrument documentation for an explanation of its supported communication settings.
You can display the communication property values for the serial port object s created in Creating a Serial Port Object with the get function.
·   get(s,{'BaudRate','DataBits','Parity','StopBits','Terminator'})
·   ans =
·   [9600]    [8]    'none'    [1]    'LF'
·   

Writing and Reading Data
This section describes interface-specific issues related to writing and reading data with a serial port object. Topics include
·   Asynchronous write and read operations
·   Rules for completing write and read operations
·   An example that illustrates writing and reading text data
For a general overview about writing and reading data, as well as a list of all associated functions and properties, refer to Writing and Reading Data.

Asynchronous Write and Read Operations
Asynchronous write and read operations do not block access to the MATLAB command line. Additionally, while an asynchronous operation is in progress you can
·   Execute a read (write) operation while an asynchronous write (read) operation is in progress. This is because serial ports have separate pins for reading and writing.
·   Make use of all supported callback properties. Refer to Events and Callbacks for more information about the callback properties supported by serial port objects.
The process of writing data asynchronously is given in Synchronous Versus Asynchronous Write Operations. The process of reading data asynchronously is described in the next section.
Asynchronous Read Operations
For serial port objects, you specify whether read operations are synchronous or asynchronous with the ReadAsyncMode property. You can configure ReadAsyncMode to continuous or manual.
If ReadAsyncMode is continuous (the default value), the serial port object continuously queries the instrument to determine if data is available to be read. If data is available, it is asynchronously stored in the input buffer. To transfer the data from the input buffer to MATLAB, you use one of the synchronous (blocking) read functions such as fgetl, fgets, fscanf, or fread. If data is available in the input buffer, these functions will return quickly.
·   s = serial('COM1');
·   fopen(s)
·   s.ReadAsyncMode = 'continuous';
·   fprintf(s,'*IDN?')
·   s.BytesAvailable
·   ans =
·       56
·   out = fscanf(s);
·   
If ReadAsyncMode is manual, the serial port object does not continuously query the instrument to determine if data is available to be read. To read data asynchronously, you use the readasync function. You then use one of the synchronous read functions to transfer data from the input buffer to MATLAB.
·   s.ReadAsyncMode = 'manual';
·   fprintf(s,'*IDN?')
·   s.BytesAvailable
·   ans =
·       0
·   readasync(s)
·   s.BytesAvailable
·   ans =
·       56
·   out = fscanf(s);
·   

Rules for Completing Write and Read Operations
The rules for completing synchronous and asynchronous read and write operations are described below.
Completing Write Operations
A write operation using fprintf or fwrite completes when one of these conditions is satisfied:
·   The specified data is written.
·   The time specified by the Timeout property passes.
In addition to these rules, you can stop an asynchronous write operation at any time with the stopasync function.
A text command is processed by the instrument only when it receives the required terminator. For serial port objects, each occurrence of \n in the ASCII command is replaced with the Terminator property value. Because the default format for fprintf is %s\n, all commands written to the instrument will end with the Terminator value. The default value of Terminator is the line feed character. The terminator required by your instrument will be described in its documentation.
Completing Read Operations
A read operation with fgetl, fgets, fscanf, or readasync completes when one of these conditions is satisfied:
·   The terminator specified by the Terminator property is read.
·   The time specified by the Timeout property passes.
·   The input buffer is filled.
·   The specified number of values is read (fscanf and readasync only).
A read operation with fread completes when one of these conditions is satisfied:
·   The time specified by the Timeout property passes.
·   The specified number of values is read.
In addition to these rules, you can stop an asynchronous read operation at any time with the stopasync function.

Example: Writing and Reading Text Data
This example illustrates how to communicate with a serial port instrument by writing and reading text data.
The instrument is a Tektronix TDS 210 two-channel oscilloscope connected to the serial port COM1. Therefore, many of the commands given below are specific to this instrument. A sine wave is input into channel 2 of the oscilloscope, and your job is to measure the peak-to-peak voltage of the input signal.
1.   Create a serial port object -- Create the serial port object s associated with serial port COM1.
o   s = serial('COM1');
o   
2.   Connect to the instrument -- Connect s to the oscilloscope. Because the default value for the ReadAsyncMode property is continuous, data is asynchronously returned to the input buffer as soon as it is available from the instrument.
o   fopen(s)
o   
3.   Write and read data -- Write the *IDN? command to the instrument using fprintf, and then read back the result of the command using fscanf.
o   fprintf(s,'*IDN?')
o   s.BytesAvailable
o   ans =
o       56
o   idn = fscanf(s)
o   idn =
o   TEKTRONIX,TDS 210,0,CF:91.1CT FV:v1.16 TDS2CM:CMV:v1.04
o   
1.   You need to determine the measurement source. Possible measurement sources include channel 1 and channel 2 of the oscilloscope.
o   fprintf(s,'MEASUREMENT:IMMED:SOURCE?')
o   source = fscanf(s)
o   source =
o   CH1
o   
The scope is configured to return a measurement from channel 1. Because the input signal is connected to channel 2, you must configure the instrument to return a measurement from this channel.
o   fprintf(s,'MEASUREMENT:IMMED:SOURCE CH2')
o   fprintf(s,'MEASUREMENT:IMMED:SOURCE?')
o   source = fscanf(s)
o   source =
o   CH2
o   
You can now configure the scope to return the peak-to-peak voltage, and then request the value of this measurement.
o   fprintf(s,'MEASUREMENT:MEAS1:TYPE PK2PK')
o   fprintf(s,'MEASUREMENT:MEAS1:VALUE?')
o   
Transfer data from the input buffer to MATLAB using fscanf.
o   ptop = fscanf(s)
o   ptop =
o   2.0199999809E0
o   
4.   Disconnect and clean up -- When you no longer need s, you should disconnect it from the instrument, and remove it from memory and from the MATLAB workspace.
o   fclose(s)
o   delete(s)
o   clear s
o   

Events and Callbacks
This section describes interface-specific issues related to using events and callbacks with a serial port object. Topics include
·   Event types and callback properties
·   Storing event information
·   An example that uses the bytes-available event, the output-empty event, and the instrcallback function
For a general overview of events and callbacks, including how to create and execute callback functions, refer to Events and Callbacks.

Event Types and Callback Properties
The event types and associated callback properties supported by serial port objects are listed below.
Table 5-5: Serial Port Event Types and Callback Properties  
Event Type   Associated Properties
Break interrupt   BreakInterruptFcn
Bytes available   BytesAvailableFcn
   BytesAvailableFcnCount
   BytesAvailableFcnMode
Error   ErrorFcn
Output empty   OutputEmptyFcn
Pin status   PinStatusFcn
Timer   TimerFcn
   TimerPeriod

The break-interrupt and pin-status events are described below. For a description of the other event types, refer to Event Types and Callback Properties.
Break-Interrupt Event.   A break-interrupt event is generated immediately after a break interrupt is generated by the serial port. The serial port generates a break interrupt when the received data has been in an inactive state longer than the transmission time for one character.
This event executes the callback function specified for the BreakInterruptFcn property. It can be generated for both synchronous and asynchronous read and write operations.
Pin-Status Event.   A pin-status event is generated immediately after the state (pin value) changes for the CD, CTS, DSR, or RI pins. Refer to Serial Port Signals and Pin Assignments for a description of these pins.
This event executes the callback function specified for the PinStatusFcn property. It can be generated for both synchronous and asynchronous read and write operations.

Storing Event Information
You can store event information in a callback function or in a record file. Event information stored in a callback function uses two fields: Type and Data. The Type field contains the event type, while the Data field contains event-specific information. As described in Creating and Executing Callback Functions, these two fields are associated with a structure that you define in the callback function header. Refer to Debugging: Recording Information to Disk to learn about storing event information in a record file.
The event types and the values for the Type and Data fields are given below.
Table 5-6: Serial Port Event Information  
Event Type   Field   Field Value
Break interrupt   Type   BreakInterrupt
   Data.AbsTime   day-month-year hour:minute:second
Bytes available   Type   BytesAvailable
   Data.AbsTime   day-month-year hour:minute:second
Error   Type   Error
   Data.AbsTime   day-month-year hour:minute:second
   Data.Message   An error string
Output empty   Type   OutputEmpty
   Data.AbsTime   day-month-year hour:minute:second
Pin status   Type   PinStatus
   Data.AbsTime   day-month-year hour:minute:second
   Data.Pin   CarrierDetect, ClearToSend, DataSetReady, or RingIndicator
   Data.PinValue   on or off
Timer   Type   Timer
   Data.AbsTime   day-month-year hour:minute:second

The Data field values are described below.
The AbsTime Field.   AbsTime is defined for all events, and indicates the absolute time the event occurred. The absolute time is returned using the MATLAB clock format.
day-month-year hour:minute:second
The Pin Field.   Pin is used by the pin status event to indicate if the CD, CTS, DSR, or RI pins changed state. Refer to Serial Port Signals and Pin Assignments for a description of these pins.
The PinValue Field.   PinValue is used by the pin status event to indicate the state of the CD, CTS, DSR, or RI pins. Possible values are on or off.
The Message Field.   Message is used by the error event to store the descriptive message that is generated when an error occurs.

Example: Using Events and Callbacks
This example uses the M-file callback function instrcallback to display event-related information to the command line when a bytes-available event or an output-empty event occurs.
1.   Create an instrument object -- Create the serial port object s associated with serial port COM1.
o   s = serial('COM1');
o   
2.   Connect to the instrument -- Connect s to the Tektronix TDS 210 oscilloscope. Because the default value for the ReadAsyncMode property is continuous, data is asynchronously returned to the input buffer as soon as it is available from the instrument.
o   fopen(s)
o   
3.   Configure properties -- Configure s to execute the callback function instrcallback when a bytes-available event or an output-empty event occurs.
o   s.BytesAvailableFcnMode = 'terminator';
o   s.BytesAvailableFcn = @instrcallback;
o   s.OutputEmptyFcn = @instrcallback;
o   
4.   Write and read data -- Write the RS232? command asynchronously to the oscilloscope. This command queries the RS-232 settings and returns the baud rate, the software flow control setting, the hardware flow control setting, the parity type, and the terminator.
o   fprintf(s,'RS232?','async')
o   
1.   instrcallback is called after the RS232? command is sent, and when the terminator is read. The resulting displays are shown below.
o   OutputEmpty event occurred at 17:37:21 for the object:
o   Serial-COM1.
o   
o   BytesAvailable event occurred at 17:37:21 for the object:
o   Serial-COM1.
o   
Read the data from the input buffer.
o   out = fscanf(s)
o   out =
o   9600;0;0;NONE;LF
o   
5.   Disconnect and clean up -- When you no longer need s, you should disconnect it from the instrument, and remove it from memory and from the MATLAB workspace.
o   fclose(s)
o   delete(s)
o   clear s
o   

Using Control Pins
As described in Serial Port Signals and Pin Assignments, 9-pin serial ports include six control pins. These control pins allow you to
·   Signal the presence of connected devices
·   Control the flow of data
The properties associated with the serial port control pins are given below.
Table 5-7: Serial Port Control Pin Properties  
Property Name   Description
DataTerminalReady   Specify the state of the DTR pin.
FlowControl   Specify the data flow control method to use.
PinStatus   Indicate the state of the CD, CTS, DSR, and RI pins.
RequestToSend   Specify the state of the RTS pin.


Signaling the Presence of Connected Devices
DTE's and DCE's often use the CD, DSR, RI, and DTR pins to indicate whether a connection is established between serial port devices. Once the connection is established, you can begin to write or read data.
You can monitor the state of the CD, DSR, and RI pins with the PinStatus property. You can specify or monitor the state of the DTR pin with the DataTerminalReady property.
The following example illustrates how these pins are used when two modems are connected to each other.
Example: Connecting Two Modems
This example connects two modems to each other via the same computer, and illustrates how you can monitor the communication status for the computer-modem connections, and for the modem-modem connection. The first modem is connected to COM1, while the second modem is connected to COM2.
1.   Create the instrument objects -- After the modems are powered on, the serial port object s1 is created for the first modem, and the serial port object s2 is created for the second modem.
o   s1 = serial('COM1');
o   s2 = serial('COM2');
o   
2.   Connect to the instruments -- s1 and s2 are connected to the modems. Because the default value for the ReadAsyncMode property is continuous, data is asynchronously returned to the input buffers as soon as it is available from the modems.
o   fopen(s1)
o   fopen(s2)
o   
1.   Because the default value of the DataTerminalReady property is on, the computer (data terminal) is now ready to exchange data with the modems. You can verify that the modems (data sets) are ready to communicate with the computer by examining the value of the Data Set Ready pin using the PinStatus property.
o   s1.Pinstatus
o   ans =
o       CarrierDetect: 'off'
o         ClearToSend: 'on'
o        DataSetReady: 'on'
o       RingIndicator: 'off'
o   
The value of the DataSetReady field is on because both modems were powered on before they were connected to the objects.
3.   Configure properties -- Both modems are configured for a baud rate of 2400 bits per second and a carriage return (CR) terminator.
o   s1.BaudRate = 2400;
o   s1.Terminator = 'CR';
o   s2.BaudRate = 2400;
o   s2.Terminator = 'CR';
o   
4.   Write and read data -- Write the atd command to the first modem. This command puts the modem "off the hook," which is equivalent to manually lifting a phone receiver.
o   fprintf(s1,'atd')
o   
1.   Write the ata command to the second modem. This command puts the modem in "answer mode," which forces it to connect to the first modem.
o   fprintf(s2,'ata')
o   
After the two modems negotiate their connection, you can verify the connection status by examining the value of the Carrier Detect pin using the PinStatus property.
o   s1.PinStatus
o   ans =
o       CarrierDetect: 'on'
o         ClearToSend: 'on'
o        DataSetReady: 'on'
o       RingIndicator: 'off'
o   
You can also verify the modem-modem connection by reading the descriptive message returned by the second modem.
o   s2.BytesAvailable
o   ans =
o       25
o   out = fread(s2,25);
o   char(out)'
o   ans =
o   ata
o   CONNECT 2400/NONE
o   
Now break the connection between the two modems by configuring the DataTerminalReady property to off. You can verify that the modems are disconnected by examining the Carrier Detect pin value.
o   s1.DataTerminalReady = 'off';
o   s1.PinStatus
o   ans =
o       CarrierDetect: 'off'
o         ClearToSend: 'on'
o        DataSetReady: 'on'
o       RingIndicator: 'off'
o   
5.   Disconnect and clean up -- Disconnect the objects from the modems, and remove the objects from memory and from the MATLAB workspace.
o   fclose([s1 s2])
o   delete([s1 s2])
o   clear s1 s2
o
الله أكبر الله أكبر الله أكبر
اللهم علمني ما ينفعني وانفعني بما علمتني
     (( وقل رب زدني علماً ))

أبريل 14, 2004, 04:43:26 صباحاً
رد #5

E-Adrenaline

  • عضو مساعد

  • **

  • 211
    مشاركة

    • مشاهدة الملف الشخصي
التعامل مع منفذ الكمبيوتر التوالى
« رد #5 في: أبريل 14, 2004, 04:43:26 صباحاً »
منقول قص ولصق ! '<img'>
الله أكبر الله أكبر الله أكبر
اللهم علمني ما ينفعني وانفعني بما علمتني
     (( وقل رب زدني علماً ))

أبريل 18, 2004, 04:44:50 مساءاً
رد #6

Mgh

  • عضو خبير

  • *****

  • 3536
    مشاركة

    • مشاهدة الملف الشخصي
التعامل مع منفذ الكمبيوتر التوالى
« رد #6 في: أبريل 18, 2004, 04:44:50 مساءاً »
شكرا لك ولكم هل لديك إجابة محددة عما جاء  من اسئلة فى المشاركة
http://olom.f2web.net/ib3....t=10687
هناك أشياء جميلة في حياتنا لكننا لانراها لاننا لانكلف أنفسنا محاولة النظر اليها.. وربما تشابه الايام والروتين يحجب الرؤية عنها

مايو 16, 2004, 02:16:54 مساءاً
رد #7

iceman

  • عضو مبتدى

  • *

  • 14
    مشاركة

    • مشاهدة الملف الشخصي
التعامل مع منفذ الكمبيوتر التوالى
« رد #7 في: مايو 16, 2004, 02:16:54 مساءاً »
نعم يمكن استخدام منفذ التوالي من البرامج المكتوبة بلغة ال visual basic
وذلك عن طريق استخدام احد active x الموجودة في برنامج الvisual basic

اذا كنت مهتم بالموضوع فاعلمني

شكرا
'<img'>

مايو 17, 2004, 02:08:18 مساءاً
رد #8

E-Adrenaline

  • عضو مساعد

  • **

  • 211
    مشاركة

    • مشاهدة الملف الشخصي
التعامل مع منفذ الكمبيوتر التوالى
« رد #8 في: مايو 17, 2004, 02:08:18 مساءاً »
انا مهتم جدا ...
ما اسم اداة اكتيف اكس ؟
وهل يمكنني ان اقرأ من المنفذ واضع المقروء في تكست بوكس .
هل يمكنني التحكم باشارات التحكم مثل ready to send
clear to send
الله أكبر الله أكبر الله أكبر
اللهم علمني ما ينفعني وانفعني بما علمتني
     (( وقل رب زدني علماً ))

مايو 22, 2004, 01:01:49 صباحاً
رد #9

Mgh

  • عضو خبير

  • *****

  • 3536
    مشاركة

    • مشاهدة الملف الشخصي
التعامل مع منفذ الكمبيوتر التوالى
« رد #9 في: مايو 22, 2004, 01:01:49 صباحاً »
أنا مهتم أيضا وأحتاج لمثال مفصل ... وشكرا لك
هناك أشياء جميلة في حياتنا لكننا لانراها لاننا لانكلف أنفسنا محاولة النظر اليها.. وربما تشابه الايام والروتين يحجب الرؤية عنها

مايو 23, 2004, 12:15:40 مساءاً
رد #10

iceman

  • عضو مبتدى

  • *

  • 14
    مشاركة

    • مشاهدة الملف الشخصي
التعامل مع منفذ الكمبيوتر التوالى
« رد #10 في: مايو 23, 2004, 12:15:40 مساءاً »
ساقوم باعداد مثال مفصل وبسيط باستخدام لغة ال visual Basic للتعامل مع المنفذ التسلسلي


'<img'>
IceMan

مايو 27, 2004, 11:53:21 صباحاً
رد #11

iceman

  • عضو مبتدى

  • *

  • 14
    مشاركة

    • مشاهدة الملف الشخصي
التعامل مع منفذ الكمبيوتر التوالى
« رد #11 في: مايو 27, 2004, 11:53:21 صباحاً »
التعامل مع المنفذ التسلسلي

حمل الملف المرفق الذي يحتوي على المقدمة (pdf file)

مايو 27, 2004, 12:01:05 مساءاً
رد #12

iceman

  • عضو مبتدى

  • *

  • 14
    مشاركة

    • مشاهدة الملف الشخصي
التعامل مع منفذ الكمبيوتر التوالى
« رد #12 في: مايو 27, 2004, 12:01:05 مساءاً »
التعامل مع المنفذ التسلسلي



حمل الملف المرفق الذي يحتوي على الجزء الاول (فحص المنفذ التسلسلي)


ملاحظة يجب تحميل الاربعة اجزاء اولا تم تتم عملية فك الضغط





اعتذر لانة لايمكن تحميل ملفات مضغوطة فما هو الحل
لان ملف ال pdf اكبر من 100kb  '<img'>?'<img'>




مايو 30, 2004, 03:01:43 مساءاً
رد #13

E-Adrenaline

  • عضو مساعد

  • **

  • 211
    مشاركة

    • مشاهدة الملف الشخصي
التعامل مع منفذ الكمبيوتر التوالى
« رد #13 في: مايو 30, 2004, 03:01:43 مساءاً »
هل يمكنك تحويل الملفات الى ملف وورد ..
الله أكبر الله أكبر الله أكبر
اللهم علمني ما ينفعني وانفعني بما علمتني
     (( وقل رب زدني علماً ))

يونيو 22, 2004, 11:52:40 مساءاً
رد #14

Mgh

  • عضو خبير

  • *****

  • 3536
    مشاركة

    • مشاهدة الملف الشخصي
التعامل مع منفذ الكمبيوتر التوالى
« رد #14 في: يونيو 22, 2004, 11:52:40 مساءاً »
عليك بالبرنامج التالى لتقسيم الملف . ولو أنك قمت بتحويله لملف ورد وضغطته سيصبح أصغر . وشكرا لك مقدما '<img'>
هناك أشياء جميلة في حياتنا لكننا لانراها لاننا لانكلف أنفسنا محاولة النظر اليها.. وربما تشابه الايام والروتين يحجب الرؤية عنها