Окт 28 2011

Книга Дьяконов В. П. «Matlab 7.*/R2006/R2007. Самоучитель»

Хороший учебник, позволяющий несколько упорядочить знание Matlab. Большое внимание уделено визуализации различных функций (в 2D и 3D). Однако расширения Matlab, и, в первую очередь, Simulink, рассмотрены в виде «обзора», без углубления в тему.

В целом книга хороша для первого знакомства с Matlab, однако для более детального изучения нужна дополнительная литература.
Книга содержит 768 страниц.

Окт 22 2011

Прибор на объекте

Фото прибора на объекте.

Квадратный ящик сверху — самописец, подключенный к выходу 4-20 мА прибора.

Под катом еще фото.

Read more »

Окт 13 2011

Скриншоты с экрана устройства

Для получения скриншотов с экранов устройств была разработана маленькая утилитка, получающая текущее изображение по Rs-232.

Сама утилитка написана на C#, в программу устройства был добавлен небольшой фрагмент, отправляющий в UART изображение из буфера:

switch(buf[1])
{
case 0x03: //read multiple holding registers (0x04)
  ...
  break;
//Другие команды Modbus
...

case 0xFF: //  Команда получения скриншота

...
  return PrintScreen(uartNum);
};

Таким образом, стандартные команды Modbus «расширяются» специальной командой с кодом 0xFF, при получении которой устройство посылает в порт копию экрана (для монохромного экрана 128*64 это составляет ровно 1 кбайт данных).

Утилитка очень простая, небольшое (но, как оказалось, легко решаемое) затруднение вызвал тот факт, что С# работает с COM-портом не так, как другие системы (например, Delphi).

C# создает отдельный поток исполнения для обработчика события приема сообщения COM-порта. А раз это отдельный поток, в нем нельзя отрисовывать изображение (операции с графикой не являются в .Net потокобезопасными).

Проблему можно решить двумя путями: верным и неверным.

Read more »

Окт 10 2011

Стек и куча

Вообще-то это уже было здесь в комментариях, но, чтобы не забыть, выложу это в посте.

Настройки размера кучи и стека в IAR делаются здесь:

Под кучей (heap) понимается динамически распределяемая память (цитата из Википедии: «Ку́ча (англ. heap) в информатике и программировании — название структуры данных, с помощью которой реализована динамически распределяемая память приложения«), хотя настоящие снобы должны знать, что куча — это совсем другое (цитата из англоязычной Википедии: «In computer science, a heap is a specialized tree-based data structure that satisfies the heap property: if B is a child node of A, then key(A) ≥ key(B).«)

Окт 03 2011

Аналого-цифровое преобразование для начинающих

В этой статье рассмотрены основные вопросы, касающиеся принципа действия АЦП различных типов. При этом некоторые важные теоретические выкладки, касающиеся математического описания аналого-цифрового преобразования остались за рамками статьи, но приведены ссылки, по которым заинтересованный читатель сможет найти более глубокое рассмотрение теоретических аспектов работы АЦП. Таким образом, статья касается в большей степени понимания общих принципов функционирования АЦП, чем теоретического анализа их работы.

Полный текст опубликован на Хабрахабре: http://habrahabr.ru/blogs/easyelectronics/125029/