Лабораторная работа. новик 1. Цели работы Изучение организации порта последовательной передачи данных (comпорта) и приобретение практических навыков его использования для ввода и вывода информации. Задание на работу
Скачать 2.78 Mb.
|
Цели работы Изучение организации порта последовательной передачи данных (COM-порта) и приобретение практических навыков его использования для ввода и вывода информации. Задание на работу 1. Архитектура последовательного порта 2. Установить в системе эмулятор виртуальных COM-портов (Virtual Serial Port Driver). 3. Создать два виртуальных COM-порта и эмулировать связь между ними. Ход работы 2. Установка: Установка эмулятора не отличается ничем особенным от установки любых других программ. Также, как и любая программа, работающая с драйверами, после установки, предлагалось перезагрузить ПК, для корректной работы приложения. После перезарузки программа готова к работе 3. Создать два виртуальных COM-порта и эмулировать связь между ними: После запуска приложения мы видели главное окно приложения (рис. 1) Рис. 1 Главное окно приложения Для того чтобы создать новый тип устройства, нужно нажать на кнопку на верней панели – create new devise… После нажатия на кнопку открывается окно создания. Оно выглядит следующим образом (рис. 2): Рис. 2 Окно создания нового устройства В окне создания стоит устройство типа соединитель Для того чтобы создать пары связанных виртуальных портов, нужно в выпадающем списке «Device type» выбрать «Pair» (рис. 3) Рис. 3 Окно создания пары связанных виртуальных портов После этого откроется Характеристика устройства. Оно выглядит как на изображении 4. Рис. 4 Окно Характеристики устройства Результат выполнения можно увидеть на изображении 5 Рис. 5 Главное окно после создания пары связанных виртуальных портов Текст программы Программа разработана на языке программирования C#. Для работы с последовательным портом используются специальные классы, входящие в состав .NET Framework. Для начала работы с портом необходимо указать его название и вызвать функцию для открытия порта. Затем можно посылать данные в порт с помощью метода Write(). Чтение данных из порта производится при возникновении события, указывающего на поступление данных. Текст программы: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace com_chat { public partial class Form1 : Form { string msg = ""; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { serialPort1.PortName = comboBox1.SelectedItem.ToString(); serialPort1.Open(); } private void button3_Click(object sender, EventArgs e) { serialPort1.Close(); } private void button2_Click(object sender, EventArgs e) { serialPort1.WriteLine(textBox2.Text); textBox1.AppendText(textBox2.Text + "\r\n"); } private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { msg = serialPort1.ReadExisting(); this.Invoke(new EventHandler(update)); } private void update(object sender, EventArgs e) { textBox1.AppendText(msg); } } } Результаты работы программы На рисунке 6 показано добавление виртуальных портов в программе Virtual Serial Port Driver. Рис. 6. Настройка виртуальных портов На рисунке 7 показан обмен информацией двумя экземплярами программы Рис. 7. Обмен информацией двумя виртуальными портами Вывод В данной лабораторной работе я изученила организации порта последовательной передачи данных (COM-порта) и приобрела практические навыки его использования для ввода и вывода информации. А также познакомилась с функционалом программы Virtual Serial Port Driver |