среда, 25 апреля 2012 г.

Список COM-портов в Qt. Библиотека qextserialport.

В добавление к предыдущему посту, есть и самый удобный способ построения списка COM-портов в Windows - с использованием готовой библиотеки qextserialport.

Всё ну очень просто.


#include 

QStringList getComPortList()
{
    QStringList list;
    QList ports = QextSerialEnumerator::getPorts();
    foreach(QextPortInfo port, ports)
    {
        list.append(port.portName);
    }
    return list;
}

понедельник, 23 апреля 2012 г.

Список COM-портов в Qt.

При программировании под Windows есть очень простая, можно сказать, стандартная задача - построение списка COM-портов и вывод списка в комбобокс.

Ниже приведу два варианта построения такого списка и объясню, почему с использованием только Qt это сделать невозможно.

вторник, 31 января 2012 г.

Работа с Linux GPIO из User Space

Ядро Linux предоставляет для доступа к входам/выходам GPIO (general purpose input/output) специальный интерфейс, который позволяет работать с GPIO как с символьными устройствами.

Прежде всего, сошлюсь на полезный пост Linux - Accessing GPIO from User Space и дополню его некоторыми комментариями, а также описанием работы с прерываниями.

вторник, 24 января 2012 г.

TMS320С55xx - ошибка в загрузчике.

По результатам проектирования одного устройства на с5505 появилась следующая информация.

Во встроенном загрузчике данного процессора присутствует ошибка, приводящая к возможной неработоспособности загрузки процессора из NOR-flash. Поэтому рецепт, описанный здесь может не работать.

пятница, 16 сентября 2011 г.

Загрузка TMS320C55xx в SDRAM

Цифровые сигнальные процессоры Texas Instruments серии C55xx имеют контроллер внешней памяти EMIF, обеспечивающий возможность работы с памятью типа Nand, Nor, асинхронными SRAM и синхронными SDRAM микросхемами памяти.

После того, как вы откомпилировали ваше приложение, с помощью утилиты hex55, входящей в состав Code Generation Tools для С5000 достаточно просто получить бинарный файл для прошивки во внешнюю энергонезависимую память. Встроенный загрузчик отлично справляется с загрузкой программы во внутреннюю SARAM без каких-либо дополнительных манипуляций. Однако, если ваша программа уже достаточно велика, возникает необходимость использования дополнительной внешней памяти, куда загрузчик должен загрузить программу или данные и запустить выполнение программы. Как это сделать, я и расскажу в этой статье на примере настройки SDRAM на отладочной плате EVM5515. Всё описанное может быть применено с некоторыми изменениями не только для использования SDRAM, но и любых других типов памяти (например, для исполнения программы непосредственно из энергонезависимой флэш-памяти).

среда, 22 июня 2011 г.

Графический интерфейс для консольного приложения.

Так сложилось, что пользователям нужны графические интерфейсы. Виноваты в этом Microsoft, Apple или природа человека, которому удобней манипулировать визуальными объектами, может быть, и что-либо ещё, но факт остается фактом - программистам удобно и правильно использовать консольные приложения, а пользователям, будьте добры, предоставьте окошечки с кнопочками.

И так, ситуация: имеется уже написанное и отлаженное консольное приложение, необходимо предоставить к нему графический интерфейс. Один из вариантов на python+PyQt под катом.

среда, 8 июня 2011 г.

pyserial vs gsm-modem

В одном из проектов появилась необходимость настройки gsm-модема (mc52i) через последовательный порт: AT-команды, настройка параметров модема, запись и чтение смс, настройка профиля GPRS и т.п.

Само собой, будем использовать наш любимый Python, а работы с COM-портом существует отличная библиотека PySerial.

Завелось, как говорится, сполпинка, но при увеличении размера скрипта, когда обмен шел интенсивно, практически каждый раз при работе вылетало исключение writeTimeoutError.