DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Програмна реалізація підключення пристрою до інтерфейсу USB

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Комп’ютерні науки
Кафедра:
Кафедра електронних обчислювальних машин

Інформація про роботу

Рік:
2005
Тип роботи:
Лабораторна робота
Предмет:
Діагностика комп'ютерних засобів
Група:
КІ
Коротко про документ

Про що ця робота

У лабораторній роботі досліджено принципи роботи інтерфейсу USB та розроблено програмну симуляцію підключення пристрою. Реалізовано обробку пакета даних і перевірку двійкового введення за допомогою мови C#.

У роботі розглядаються

  • Інтерфейс USB
  • Передача даних
  • Периферійні пристрої
  • Програмна реалізація
  • Симуляція з'єднання
  • Архітектура комп'ютерних систем

Зміст і розділи

  1. Мета роботи
  2. Теоретичні відомості
  3. Виконання роботи
  4. Висновки
Для кого:Студенти технічних спеціальностей вищих навчальних закладів, які вивчають діагностику комп'ютерних систем та інтерфейси периферійних пристроїв.
Викладачі:Не вказано

Ключові поняття

USBсимуляціяпакет данихініціалізаціясинхронізаціяC#інтерфейспериферійний пристрійдвійковий код

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” КАФЕДРА ЕЛЕКТРОННИХ ОБЧИСЛЮВАЛЬНИХ МАШИН Лабораторна робота №5 з курсу “Діагностика комп’ютерних засобів” на тему: “ Програмна реалізація підключення пристрою до інтерфейсу USB”. Львів-2005 Мета роботи: ознайомитись з основами роботи інтерфейсу USB. Теоретичні відомості: Під час ініціалізації периферійного пристрою шина USB автоматично (за допомогою простих схемотехнічних засобів) визначає швидкість та інші параметри підключеного пристрою. До нього регулярно передаються пакети SOF для синхронізації та присвоєння йому номера. Крім того існують пакети маркери для надання пристрою права передачі інформації чи передачі якихось команд. Виконання роботи: (Передача даних) using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; namespace USBport { public class USBlab : System.Windows.Forms.Form { private System.Windows.Forms.Button InitializeBtn; private System.Windows.Forms.PictureBox markerPic; private System.Windows.Forms.PictureBox dataPic; private System.Windows.Forms.PictureBox SOFpic; private System.Windows.Forms.Label dataLabel; private System.Windows.Forms.Label sofLabel; private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.GroupBox groupBox2; private System.ComponentModel.Container components = null; private System.Windows.Forms.TextBox SynchroTextBox; private System.Windows.Forms.TextBox PIDTextBox; private System.Windows.Forms.Label StateLabel; private System.Windows.Forms.TextBox AddrTextBox; private System.Windows.Forms.TextBox ENDPTextBox; private System.Windows.Forms.Label SynchroLabel; private System.Windows.Forms.Label PIDLabel; private System.Windows.Forms.Label ADDRLabel; private System.Windows.Forms.Label ENDLabel; private System.Windows.Forms.TextBox CRC5TextBox; private System.Windows.Forms.Label CRClabel; private System.Windows.Forms.Label Receivelabel; private System.Windows.Forms.TextBox RecSynchTextBox; private System.Windows.Forms.TextBox RecPIDTextBox; private System.Windows.Forms.TextBox RecDataTextBox; private System.Windows.Forms.Label RecSynchLabel; private System.Windows.Forms.Label RecPIDLabel; private System.Windows.Forms.Label RecDataLabel; private System.Windows.Forms.Label markerLabel; private System.Windows.Forms.Button SendButton; private int state = 0; public USBlab() { InitializeComponent(); } protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } static void Main() { Application.Run(new USBlab()); } private void InitializeBtn_Click(object sender, System.EventArgs e) { state++; switch (state) { case 4: this.SendButton.Visible = false; this.InitializeBtn.Text = "Почати симуляцію (передачa пакету Marker)"; this.markerLabel.Visible = true; this.markerPic.Visible = true; this.dataLabel.Visible = true; this.dataPic.Visible = true; this.sofLabel.Visible = true; this.SOFpic.Visible = true; this.StateLabel.Visible = false; this.SynchroTextBox.Visible = false; this.PIDTextBox.Visible = false; this.AddrTextBox.Visible = false; this.ENDPTextBox.Visible = false; this.SynchroLabel.Visible = false; this.PIDLabel.Visible = false; this.ADDRLabel.Visible = false; this.ENDLabel.Visible = false; this.CRC5TextBox.Visible = false; this.CRClabel.Visible = false; this.RecDataLabel.Visible = false; this.RecDataTextBox.Visible = false; this.Receivelabel.Visible = false; this.RecPIDLabel.Visible = false; this.RecPIDLabel.Visible = false; this.RecSynchLabel.Visible = false; this.RecSynchTextBox.Visible = false; this.RecPIDTextBox.Visible = false; this.InitializeBtn.Location = new System.Drawing.Point(288, 18); this.groupBox1.Size = new System.Drawing.Size(736, 432); this.groupBox2.Location = new System.Drawing.Point(8, 448); this.groupBox2.Size = new System.Drawing.Size(736, 72); this.Size = new System.Drawing.Size(760, 560); state = 0; break; } } private void SendButton_Click(object sender, System.EventArgs e) { string tempData = ""; if (AddrTextBox.Text.Length == 0) { MessageBox.Show (this, "Введіть дані для передачі"); this.RecSynchTextBox.Text = ""; this.RecPIDTextBox.Text = ""; this.RecDataTextBox.Text = ""; } else { for (int j=0; j<AddrTextBox.Text.Length; j++) { if (AddrTextBox.Text[j]=='1' || AddrTextBox.Text[j] == '0') { tempData+=AddrTextBox.Text[j]; } else { MessageBox.Show (this, "Дозволені тільки двійкові числа"); this.AddrTextBox.Text = ""; break; } } } this.RecSynchTextBox.Text = "01010101"; this.RecPIDTextBox.Text = "00101101"; this.RecDataTextBox.Text = tempData; tempData = ""; } } }  Висновки: при виконанні лабораторної роботи №5 я ознайомився з основними я принципами роботи інтерфейсу USB.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!