- •Программирование электронных устройств
- •Содержание
- •1 Рекомендации по изучению дисциплины
- •Библиографический список
- •Контрольные вопросы
- •2 Программирование электронных устройств
- •2.1 Управляемые событиями программы
- •Контрольные вопросы
- •2.2 Визуализация цифровых данных
- •2.2.1 Вывод графической информации на дисплей
- •Int fnStyle;
- •If (g_pBrushes)
- •Void Diagram(hdc hDc, int X, int y, int r, bool fShadow, const float* pData, const Brush* pBrushes, unsigned int iNumOfPies)
- •If (fShadow)
- •Void DiagramPie(hdc hDc, int X, int y, int r, float s, float e, int fnStyle, colorref clrref, const char* szLabel)
- •If (!szLabel)
- •Void ShadyDiagram(hdc hDc, int X, int y, int r, int iShadowDepth, const float* pData, const Brush* pBrushes, unsigned int iNumOfPies)
- •Void winapi EndPaint( hwnd hWnd, paintstruct far *lpps);
- •Int winapi ReleaseDc( hwnd hwnd, hdc hdc );
- •Int fnStyle;
- •If (g_pBrushes)
- •Void ShadyDiagram(hdc hDc, int X, int y, int r, int iShadowDepth, const float* pData, const Brush* pBrushes, unsigned int iNumOfPies)
- •Void DiagramPie(hdc hDc, int X, int y, int r, float s, float e, int fnStyle, colorref clrref, const char* szLabel);
- •Вывод графической информации на принтер
- •HDevMode – идентификатор глобального блока памяти, содержащего структуру типа devmode, которая используется для инициализации параметров принтера.
- •Контрольные вопросы
- •Организация интерфейса пользователя
- •Int wmId;
- •InvalidateRect(hWnd, null, true);
- •InvalidateRect(hWnd, null, true);
- •If (g_iShape)
- •Контрольные вопросы
- •2.4 Сетевое программирование
- •2.4.1 Сетевые модели, протоколы и архитектура «клиент – сервер»
- •Windows Sockets
- •If (gethostname(szInfo,sizeof(szInfo)))
- •Void Stop();
- •InvalidateRect(hWnd, null, true);
- •Void Stop()
- •If (wsaCleanup())
- •Void OnServerAccept(wparam, lparam);
- •InvalidateRect(hWnd, null, true);
- •Void OnServerAccept(wparam wParam, lparam lParam)
- •Int error, length;
- •If (wsagetasyncerror(lParam))
- •Контрольные вопросы
- •Основы технологии параллельных вычислений
- •Основы разработки и программирования простейших usb-устройств
- •Контрольные вопросы
- •Заключение
- •Программирование электронных устройств
- •445667, Г. Тольятти, ул. Белорусская, 14
Контрольные вопросы
В чем отличие провода D- иGNDвUSB? Почему нельзя использовать один общий провод для питания и сигнала?
Сколько режимов скорости работы USBсуществует на сегодняшний день (включая версию 3.0)?
Что такое HID-устройство? Почему для их работы в современных ОС не требуется написание драйверов?
Можно ли реалировать USBустройства с помощью микропроцессора, неимеющего встроенной поддержки интерфейса?
Какие основные отличия USB3.0 от предыдущих версий?
Заключение
В состав современных электронных устройств зачастую входят программируемые элементы – микропроцессоры. Функционирование таких устройств зачастую определяется не только схемотехническим решением, но значительно алгоритмами, заложенными в микропроцессоры. С течением времени быстродействие процессоров, использующихся в бытовой и промышленной электронике сравнимо, а зачастую и превосходит, с быстродействием процессоров, использовавшихся в персональных компьютерах несколько лет назад. Стоимость микросхем с низким энергопотреблением, например, многоядерных процессоров ARMархитектуры работающих на частотах до 1,2 ГГц и более, постоянно снижается. С одной стороны это позволит разрабатывать более сложные электронные устройства, чем существуют в настоящее время, с другой повысит требования к рациональному использованию вычислительных ресурсов. Эффективное программирование таких быстродействующих устройств невозможно без многократного использования отлаженного существующего кода – операционных систем, библиотек функций, драйверов. Это приводит к необходимости понимания принципов унификации в программирования, стиля программирования, изучения существующих приемов и подходов, различных концепций используемых в современном программном обеспечении. Рассмотрение именно таких общих подходов (событийно-управляемое программирование, абстрагирование от аппатуры, многоуровневые системы, концепция измерений, визуальное программирование и т.д.) ставилось основной задачей на фоне многочисленных прикладных примеров при написании данного пособия, которая, надеемся, успешно выполнена.
Учебное издание
Евгений Сергеевич Глибин
Алексей Вадимович Прядилов
Программирование электронных устройств
Учебное пособие
Редактор
Технический редактор
Компьютерная верстка
Дизайн обложки
Подписано в печать 01.01.2012. Формат 60x84/16.
Печать оперативная. Усл. п. л. ?. Уч.-изд. л. ?
Тираж ? экз. Заказ № 0-00-00.
Издательство Тольяттинского государственного университета
445667, Г. Тольятти, ул. Белорусская, 14