c++, Matlab
.pdfif(RxBytes != Expected) ShowMessage("Количество байт не совпадает");
return;
}
}
}
19. В заголовочном файле формы в разделе __published разместить заголовки функций из пп. 17–18:
void __fastcall SendByte (unsigned char USBData);
void __fastcall USB_ReadBuf(unsigned int Expected);
20. В обработчике события OnClick компонента Button3 разместить следующий программный код:
USBStat = FT_Purge(hUSB, FT_PURGE_TX);
USBStat = FT_Purge(hUSB, FT_PURGE_RX);
char stroka[21];
AnsiString AStr1;
SendByte (0x1B);
AStr1=Edit1–>Text; if(AStr1.Length() > 20)
{
ShowMessage("Длина строки должна быть <= 20"); return;
}
for(int ii=1; ii<=AStr1.Length(); ii++) SendByte (AStr1[ii]);
for(int ii=AStr1.Length(); ii<21; ii++) SendByte(0);
USB_ReadBuf(21);
for(int ii=1; ii<=AStr1.Length(); ii++) stroka[ii–1]=USBBuffer[ii–1];
stroka[AStr1.Length()]='\0'; Memo1–>Lines–>Add(AnsiString(stroka));
21.Откомпилировать и выполнить разработанное ПО. Проект считать успешно откомпилированным при отсутствии сообщений об ошибках в процессе компиляции. Примерный вид экранной формы приложения показан на рис. 9.11.
22.В окне экранной формы нажать кнопку «ПОДКЛЮЧИТЬСЯ К СТЕНДУ».
Втекстовом поле Memo1 экранной формы должен появиться текст «Произведено подключение к стенду».
91
Рис. 9.11
23.В окне экранной формы в текстовом поле Edit1 написать любой текст
инажать кнопку «ПЕРЕДАТЬ ТЕКСТ».
24.Убедиться, что напечатанная строка появилась в поле Memo1.
Контрольные вопросы
1.Изложите принципы организации передачи данных по интерфейсу USB.
2.Какие сигналы передаются по проводникам интерфейса USB?
3.Какие функции обычно выполняет USB-контроллер в периферийном устройстве?
4.Приведите последовательность действий в программной среде C++ Builder 6, необходимую для создания ПО для обмена информацией по интерфей-
су USB.
5.Как хост-компьютер интерфейса USB определяет подключение или отключение периферийного устройства?
6.Какие значения скорости передачи информации использует интерфейс USB?
7.КакиефункциисодержитподключаемаядинамическаябиблиотекаFtd2xx.dll?
8.Как производится подключение библиотеки Ftd2xx.dll к проекту в программной среде C++ Builder?
Библиографический список
1.Архангельский А. Я. Программирование в C++ Builder 6 / А. Я. Архан-
гельский. – М. : Бином, 2003. – 1152 с.
2.Архангельский А. Я. C++ Builder 6 : справ. пособие. Книга 2. Классы
икомпоненты / А. Я. Архангельский. – М. : Бином-Пресс, 2002. – 528 с.
3.Гук М. Аппаратные интерфейсы ПК / М. Гук. – СПб. : Питер, 2002. – 528 с.
92
ЗАКЛЮЧЕНИЕ
Выполнение представленного цикла лабораторных работ позволяет освоить разработку ПО с использованием объектно ориентированного программирования, а также реализовать взаимодействие пользовательских программ с различными устройствами аппаратной части ПК.
Для освоения всех стадий разработки программ (от начала создания нового проекта до окончательной отладки и тестирования разработанного ПО) в лабораторном практикуме представлено подробное описание интерфейсов среды C++ Builder и Matlab. Таким образом, навыки, полученные в ходе выполнения лабораторных работ, могут быть применены при изучении других дисциплин, связанных с интерфейсами ПК или разработкой программ на языке С++.
Лабораторные работы позволяют получить сведения о взаимодействии пользовательских программ с аппаратной частью ПК, которые в дальнейшем могут быть использованы при разработке ПО современных радиоэлектронных систем и комплексов.
93
ПРИЛОЖЕНИЕ
ПРИМЕР ОФОРМЛЕНИЯ ТИТУЛЬНОГО ЛИСТА ОТЧЕТА ПО ЛАБОРАТОРНОЙ РАБОТЕ
Омский государственный технический университет Кафедра РТУ и СД
ОТЧЕТ
Лабораторная работа № 8 по дисциплине
«Языки программирования С/С++»
ЧТЕНИЕ И ЗАПИСЬ ФАЙЛОВ В СРЕДЕ С++ BUILDER
Выполнил: __________________
ФИО студента
____________________________
№ группы, дата
Принял: ____________________
ФИО преподавателя
Омск
20___
94
ОГЛАВЛЕНИЕ |
|
Введение ...................................................................................................................... |
3 |
Лабораторная работа 1 |
|
Основы работы в программной среде Matlab ......................................................... |
4 |
Лабораторная работа 2 |
|
Графика в Matlab ...................................................................................................... |
17 |
Лабораторная работа 3 |
|
Трехмерная графика в Matlab ................................................................................. |
26 |
Лабораторная работа 4 |
|
Организация обмена данными между ПК ............................................................. |
36 |
Лабораторная работа 5 |
|
Средства графического отображения информации среды С++ Builder .............. |
42 |
Лабораторная работа 6 |
|
Чтение и запись файлов в среде С++ Builder ........................................................ |
53 |
Лабораторная работа 7 |
|
Работа со звуковым устройством ПК в программной среде Matlab ................... |
62 |
Лабораторная работа 8 |
|
Передача данных на основе протокола TCP/IP ..................................................... |
67 |
Лабораторная работа 9 |
|
Передача данных с использованием интерфейса USB ......................................... |
82 |
Заключение ............................................................................................................... |
93 |
Приложение. Пример оформления титульного листа отчета |
|
по лабораторной работе ........................................................................................... |
94 |
95
Учебное издание
Титов Дмитрий Анатольевич Косых Анатолий Владимирович Фадина Елена Александровна
ЯЗЫКИ ПРОГРАММИРОВАНИЯ С++ / MATLAB
Лабораторный практикум
96