Рубрика «Теория»

изучаем матчасть

Интерфейс USB. Часть 8. Программная реализация LS устройства USB.
Передача по USB произвольного буфера и пакетов подтверждения

Часть 1. Основы. Часть 2. Как происходит передача данных по шине. Часть 3. Что должно уметь любое USB-устройство. Часть 4. Дескрипторы и классы. Часть 5. Программная реализация LS устройства USB. Схема. Часть 6. Программная реализация LS устройства USB. Физика и приём пакетов. Часть 7. Программная реализация LS устройства USB. Разбираем пакеты по типам. Часть 8. …

OpenGL в C++ Builder. Основы

Введение Инициализация Примитивы Введение Все, наверное, понимают, что для работы с 2D и 3D графикой очень приятно пользоваться готовыми библиотеками. Они позволяют программисту избавиться от кучи адовых вычислений, типа обсчёта поворотов, освещений, пересечений, наложений и прочей мути. Все вышеперечисленные «умения» в таком случае реализуются в библиотеке, а нам остаётся только с помощью специальных стандартных функций …

Работа модуля USI в контроллерах AVR Tiny

Модуль USI — это некий суррогат, который предоставляет минимальные аппаратные ресурсы, необходимые для построения последовательного интерфейса. Тут всё как обычно, универсальный — значит никакой конкретный, соответственно, чтобы использовать USI для организации какого-то конкретного интерфейса, всё равно придётся сочетать его с программными средствами, однако такое сочетание позволит разгрузить процессор, значительно увеличить скорость передачи и уменьшить код, …

Web против SCADA. Часть 4. Продвинутая визуализация в web-браузере. АСУТП аквариума

Часть 1. Противостояние неизбежно, результат — предсказуем. Часть 2. Простой удалённый мониторинг через web-браузер. Часть 3. Удалённое управление через web-браузер. Часть 4. Продвинутая визуализация в web-браузере. АСУТП аквариума. В прошлый раз мы остановились на том, что я обещал вам показать возможности современных web-технологий в части продвинутой визуализации систем управления. Именно об этом сегодня и пойдёт …

Web против SCADA. Часть 3. Удалённое управление через web-браузер

Часть 1. Противостояние неизбежно, результат — предсказуем. Часть 2. Простой удалённый мониторинг через web-браузер. Часть 3. Удалённое управление через web-браузер. Часть 4. Продвинутая визуализация в web-браузере. АСУТП аквариума. Итак, с мониторингом мы в прошлый раз разобрались, поэтому сегодня будем решать задачу удалённого управления и конфигурирования. Как вы помните, для примера мы взяли в качестве контроллера …

Web против SCADA. Часть 2. Простой удалённый мониторинг через web-браузер

Часть 1. Противостояние неизбежно, результат — предсказуем. Часть 2. Простой удалённый мониторинг через web-браузер. Часть 3. Удалённое управление через web-браузер. Часть 4. Продвинутая визуализация в web-браузере. АСУТП аквариума. В прошлой части я обещал на простеньком примере показать возможность реализации АСУТП при помощи одних только web-технологий, без всяких SCADA-систем. Вот этим мы и займёмся в этой …

Web против SCADA. Часть 1. Противостояние неизбежно, результат — предсказуем

Часть 1. Противостояние неизбежно, результат — предсказуем. Часть 2. Простой удалённый мониторинг через web-браузер. Часть 3. Удалённое управление через web-браузер. Часть 4. Продвинутая визуализация в web-браузере. АСУТП аквариума. В этом небольшом (частей в несколько) обзоре, я хочу, поделиться с Вами своим видением перспектив развития систем АСУТП, показать возможности современных web-технологий и, самое главное, поднять вопрос …

Как написать и отладить dll в C++ Builder

Что такое Dll и зачем оно нам надо? Как написать Dll? Как подключить и использовать Dll в своей программе? Как отладить Dll? Что такое Dll и зачем оно нам надо? Ну, начнём с того, что Dll — это аббревиатура от слов Dynamic Link Library, что переводится как «динамически подключаемая библиотека». По-сути, это модуль, содержащий какой-то …

Строки (AnsiString) и символьные массивы (Char[], Char*) в C++ Builder

Введение Преобразование типов Некоторые полезные методы класса AnsiString Введение Итак, в С++ Builder строки можно задать тремя разными способами: через специальный класс AnsiString, через массив символов char[] и через указатель на первый символ массива char*: AnsiString String1="Hello!"; char *String2="Hello!"; char String3[]={’H’,’e’,’l’,’l’,’o’,’!’,’\0’}; char String4[7]={’H’,’e’,’l’,’l’,’o’,’!’,’\0’};AnsiString String1="Hello!"; char *String2="Hello!"; char String3[]={‘H’,’e’,’l’,’l’,’o’,’!’,’\0′}; char String4[7]={‘H’,’e’,’l’,’l’,’o’,’!’,’\0′}; Задание строк String3 и String4 …

Поиск устройств на шине 1-Wire

Итак, сегодня мы рассмотрим две особые команды интерфейса 1-wire, предназначенные для поиска устройств на шине, а также алгоритм поиска устройств с помощью этих команд. Почему мы алгоритм именно рассмотрим, а не напишем? Да потому что он, вообще-то говоря уже написан. «Максимкины» инженеры накатали для этого специальный документ AN187, который лежит в сети в открытом доступе. …