ad Transfer) статусні інформація повертається у фазі узгодженням статусної стадії транзакції после того, як хост відправіть пакет даніх нульової Довжина в Попередній фазі передачі даніх.
Пересилання з переривані могут містіті IN- або OUT-Пересилання. При отріманні IN-пакета функція может Повернути пакет з Даними, NAK-пакет або STALL-пакет. Если у Функції немає ІНФОРМАЦІЇ про переривані, то у фазі передачі даніх функція повертає NAK-пакет. Если робота КТ з переривані Припін, то функція повертає STALL-пакет. При необхідності переривані функція повертає необхідну інформацію у фазі передачі даніх. Если хост успішно получил дані, то ВІН посілає ACK-пакет. У протилежних випадка хост НЕ відправляє узгоджувальну пакет. p> Ізохронні транзакції містять фазу передачі маркера и фазу передачі даніх, альо НЕ мают фази узгодженням. Хост посілає IN- або OUT-маркер, после чего у фазі передачі даніх контрольна точка (для IN- маркера) або хост (для OUT- маркера) пересілає дані. Ізохронні транзакції НЕ підтрімують фазу узгодженням и повторні Пересилання даніх у разі Виникнення помилок.
1.4 Міст USB-USB
1.4.1 Загальний описание
Найлегший шлях для з'єднання двох комп'ютерів - це вікорістаті USB-USB міст показань на рис.3 та рис.4. Комутуючі два комп'ютери таким кабелем можна передаваті файли з одного комп'ютера на Інший, и даже, создать ятір для доступу в інтернет через комп'ютер до Якого підключені за помощью такого кабелю (за умів, что цею комп'ютер має вихід в інтернет).
В
Рис.3. Вигляд USB-USB моста
інтерфейс шина хост мережа
Щодо Швидкості, то мікроконтроллер USB моста может підтрімуваті стандарт USB 1.1 (12 Мбіт/с) або USB 2.0 (480 Мбіт/с). br/>В
Рис.4. Вигляд моста зсередіні
1.4.2 Встановлення
USB-USB міст может працювати у двох режимах: режим прямого з'єднання та в режімі мережі (дів. мал. 5). p> Для режиму прямого з'єднання Передбачення програмне забезпечення, Яке додається в комплекті з кабелем. Воно дозволяє пересілаті чг копіюваті вибрані файли на або з віддаленого комп'ютера. p> Процес встановлення драйверів для USB-USB кабелю покладів від виробника. Потрібно буде, дере за все Встановити драйвера, а такоже програмне забезпечення, что Йдут в комплекті з кабелем на CD. Ця процедура винна буті здійснена на обох комп'ютерах, без підключеного кабелю.
Деякі Виробники постачають два Різні файли установки, один для режиму прямого з'єднання, Інший - Для режиму мережі. Інші Виробники постачають Тільки один інсталяційний файл, Який Підходить для обох режімів.
В
Рис.5. Вибір Режим роботи з програми Пересилка
У режімі мережі, є можлівість создать малу мережі между двома комп'ютерами. После создания Такої мережі з'являється можлівість організації спільніх папок, принтерів та доступу до Інтернет. br/>
1.4.2 Використання USB-USB мосту
У даній лабораторній работе вікорістовується PCLinq2 Hi-Speed ​​USB Bridge Cable кабель Який дозволяє легко з'єднати два комп'ютери просто прієднавші кабель до шкірного з них. Перед тим як розпочаті роботу з програмою PCLinq2 (дів. рис.7) нужно в Першу Черга запустіті програму Setup на шкірному з комп'ютерів.
В В
Рис.6. Можливі режими роботи PCLinq2 кабелю
В
Рис.7. Програма Пересилка PCLinq2, яка відповідає за взаємодію та файлові Пересилка между двома комп'ютерами по PCLinq2 Hi-Speed ​​USB Bridge Cable кабелю
Додаток 1. br/>
Код програми для роботи Із COM портом
using System;
using System.IO;
using System.IO.Ports;
using System.Collections;
using System.Threading;
namespace Termie
{
public sealed class CommPort
{
SerialPort _serialPort;
Thread _readThread;
volatile bool _keepReading;
// begin Singleton pattern
static readonly CommPort instance = new CommPort ();
// Explicit static constructor to tell C # compiler
// not to mark type as beforefieldinit
static CommPort ()
{
}
CommPort ()
{
_serialPort = new SerialPort ();
_readThread = null;
_keepReading = false;
}
public static CommPort Instance
{
get
{
return instance;
}
}
// end Singleton pattern
// begin Observer pattern
public delegate void EventHandler (string param);
public EventHandler StatusChanged;
public EventHandler DataReceived;
// end Observer pattern
private void StartReading ()
{
if (! _keepReading) p> {
_keepReading = true;
_readThread = new Thread (ReadPort);
_readThread.Start ();
}
}
private void Stop...