четверг, 17 декабря 2009 г.
Книга "Программируем для удовольствия"
Книга "Программируем для удовольствия" Дэн Фернандес и Брайан Пик. 10 интересных проектов на C# - простейшая компьютерная игра, управление игрушечной машинкой с помощью компьютера, клиент-серверная технология трансляции видео через Интернет и т. п.
Читать дальше......
Ярлыки:
книги,
программирование
Форматы чисел в стандарте IEEE754
http://www.softelectro.ru/ieee754.html - описание стандарта представления чисел IEEE754 (числа с плавающей точкой).
Читать дальше......
Ярлыки:
интересные ссылки,
программирование
среда, 16 декабря 2009 г.
math.h
Для того, чтобы <math.h> нормально работал в IAR, нужно включать полную поддержку библиотеки (General Options/Library Configuration/Library: Full). Ниже приведены скорости исполнения некоторых функций <math.h>.
Читать дальше......
Читать дальше......
Ярлыки:
микроконтроллеры,
программирование
понедельник, 14 декабря 2009 г.
Роскошное зрелище
Увидел на e-bay роскошное зрелище: плату CPU от суперкомпьютера Cray. Всего $7500 - какая ерунда. Ставок пока нет. Фото под катом.
Читать дальше......
понедельник, 7 декабря 2009 г.
Система сбора данных
Модуль аналогового ввода позволяет подключать до 24 аналоговых сигналов. Плата АЦП построена на основе четырех АЦП AD73360, каждая из которых имеет 6 независимых 16-и битных АЦП (речь идет не о мультиплексировании, а именно об отдельных АЦП). Частота опросов задается программно, максимальная скорость составляет 64ksps.
Всего в устройстве могут быть две такие платы, образующие 48-канальную систему сбора данных. Плата подключается к компьютеру по USB, который работает в режиме Hi-speed (одна плата АЦП при работе генерирует поток данных 24*16*64000 = 24Мбит/c, что выходит за рамки обычного Full-speed). Интерфейс USB и процессор находятся на нижней плате (фото под катом).
Читать дальше......
Ярлыки:
ацп,
микроконтроллеры,
платы,
фото
Старая плата
Старая отладочная плата с микроконтроллером Fujitsu. С ее помощью было проделано множество интереснейших экспериментов.
Читать дальше......
Читать дальше......
Ярлыки:
микроконтроллеры,
платы,
фото
воскресенье, 6 декабря 2009 г.
пятница, 4 декабря 2009 г.
Джек Гансл и программирование
Джек Гансл собрал коллекцию высказываний о программировании. Рекомендую. Ссылка: http://www.embedded.com/columns/technicalinsights/221901489?pgno=1 .
Пример:
Programming can be fun, so can cryptography; however, they should not be combined.
--Charles Kreitzberg and Ben Shneiderman
Кто такой Гансл? Читайте под катом.
Читать дальше......
Пример:
Programming can be fun, so can cryptography; however, they should not be combined.
--Charles Kreitzberg and Ben Shneiderman
Кто такой Гансл? Читайте под катом.
Читать дальше......
Ярлыки:
Джек Гансл,
интересные ссылки,
программирование
четверг, 3 декабря 2009 г.
Модуль аналогового ввода
На фото - плата контроллера модуля аналогового ввода. Устройство представляет собой модуль ввода 8 аналоговых сигналов с поной гальванической развязкой (т.е. все 8 входов полностью изолированы друг от друга) и предназначено для работы с ПЛК (поддерживаются протоколы Modbus и DCON). АЦП устройства могут иметь разрядность 16 или 24 бита в зависимости от исполнения. Устройство питается от источника 24В. Плата, приведенная на фотографии, содержит микроконтроллер LPC2103, память FRAM для хранения настроек, порты RS-485 и RS-232, гальванически изолированные друг от друга и от микроконтроллера. Сам микроконтроллер также гальванически изолирован от источника питания. К разъемам на плате подключаются еще две платы с АЦП (выложу позже).
Читать дальше......
Ярлыки:
ацп,
микроконтроллеры,
платы,
фото
вторник, 1 декабря 2009 г.
Еще ссылки
Здесь есть что посмотреть по электронике и микроконтроллерам: http://www.dapj.com/ (English, of course...)
Сообщество в ЖЖ: http://community.livejournal.com/ru_embedded/ - унылое чуть менее, чем полностью, но на всякий случай просмотреть можно. Не очень понятно, почему оно вообще называется embedded, большая часть постов к встраиваемым системам отношения не имеют.
Больше ничего интересного в ЖЖ по теме микроконтроллеров и встраиваемых систем нет. Оно и понятно...
Читать дальше......
Сообщество в ЖЖ: http://community.livejournal.com/ru_embedded/ - унылое чуть менее, чем полностью, но на всякий случай просмотреть можно. Не очень понятно, почему оно вообще называется embedded, большая часть постов к встраиваемым системам отношения не имеют.
Больше ничего интересного в ЖЖ по теме микроконтроллеров и встраиваемых систем нет. Оно и понятно...
Читать дальше......
Ярлыки:
интересные ссылки,
микроконтроллеры
пятница, 27 ноября 2009 г.
Учебник по С
http://faqs.org.ru/progr/c_cpp/cfaqrus.htm - отличный учебник по языку. Позволяет проверить, так ли хорошо вы знаете язык?
Читать дальше......
Читать дальше......
Ярлыки:
интересные ссылки,
книги,
программирование
Ссылки
http://insiderobot.blogspot.com/ - Блог «Роботы и робототехника». Интересно почитать.
http://habrahabr.ru/blogs/controllers/ - Статьи по программированию микроконтроллеров.
http://www.best-microcontroller-projects.com/microcontroller-blog.html Статьи по микроконтроллерам. English. Читать дальше......
http://habrahabr.ru/blogs/controllers/ - Статьи по программированию микроконтроллеров.
http://www.best-microcontroller-projects.com/microcontroller-blog.html Статьи по микроконтроллерам. English. Читать дальше......
Ярлыки:
интересные ссылки,
микроконтроллеры,
роботы
четверг, 26 ноября 2009 г.
Еще ссылка
http://hackedgadgets.com/ Сайт для настоящих техноманьяков (in English). Всякие интересные штуки вроде роботов.
Читать дальше......
Читать дальше......
Ярлыки:
интересные ссылки,
микроконтроллеры,
роботы
Еще ссылка
http://www.electronics-lab.com/index.html - много интересного.
Читать дальше......
Ярлыки:
интересные ссылки,
микроконтроллеры
Плата дискретного ввода
Эта плата является очень старой моей разработкой на микроконтроллере Fujitsu (16-битная архитектура). Плата имеет 8 гальванически изолированных дискретных входов и порт RS-485 для связи с ПЛК по интерфейсу Modbus. На фотографии приведен макет, на котором вместо RS-485 распаян RS-232.
Читать дальше......
Ярлыки:
микроконтроллеры,
платы,
фото
Наблюдение
Из первых 10 ссылок, выдаваемых гуглом по слову "микроконтроллер", 5 относятся к микроконтроллерам AVR, к PIC - ни одной. Яндекс в первых 10 ссылках выдает 3 по AVR и 2 по PIC. По запросу "microcontroller" в Яндексе - 1 AVR, 1 PIC, 1 ARM, Google же не делает явных предпочтений какой-либо архитектуры по данному запросу. Значит ли это, что AVR однозначно победил PIC на постсоветском пространстве?
Читать дальше......
Ярлыки:
микроконтроллеры,
разное
вторник, 24 ноября 2009 г.
Еще ссылка
http://www.elart.narod.ru/ - сборник отличнейших статей по электронике. Полезно всем, кто занимается разработкой устройств. Например, статья "Работа ОУ на емкостную нагрузку" обязательна к прочтению, если в вашем устройстве есть аналоговые выходы.
Читать дальше......
Ярлыки:
интересные ссылки
понедельник, 23 ноября 2009 г.
Еще один ресурс
Замечательный ресурс на русском языке http://artspb.com/. Роботы, программирование, математика (особенно много математики). Есть эмулятор микроконтроллера ATmega8. Выложена книга "Дискретная АЧХ" - также весьма интересна.
Читать дальше......
Ярлыки:
интересные ссылки,
книги,
микроконтроллеры,
программирование,
роботы
воскресенье, 22 ноября 2009 г.
Еще хорошая ссылка
Вот еще один небольшой ресурс: http://www.fischl.de/. На немецком, но есть пара статей на человеческом языке. Есть описание usb-программатора микроконтроллера avr.
Читать дальше......
Ярлыки:
интересные ссылки,
микроконтроллеры
суббота, 21 ноября 2009 г.
Интересный сайт
Хороший сайт на русском языке. Микроконтроллеры и роботы, масса отличных статей. myrobot.ru
Читать дальше......
Ярлыки:
интересные ссылки,
микроконтроллеры,
роботы
понедельник, 16 ноября 2009 г.
пятница, 13 ноября 2009 г.
Все та же плата
А вот еще одно фото платы
Читать дальше......
Это сборка из двух плат: снизу та, что на фото в предыдущем посте, сверху макетка с индикатором и клавиатурой (монтаж проводом МГТФ). Ручечки под дисплеем - энкодеры. Была идея использовать их для управления прибором, но пока окончательно не решил.
Индикатор графический, монохромный, 128х64. Клавиатура в конечном варианте будет пленочная, конечно, эта только для макета. Черная коробка сверху - JTAG-отладчик. Исключительно удобная вещь. Под катом еще фотки
Индикатор графический, монохромный, 128х64. Клавиатура в конечном варианте будет пленочная, конечно, эта только для макета. Черная коробка сверху - JTAG-отладчик. Исключительно удобная вещь. Под катом еще фотки
Читать дальше......
Ярлыки:
микроконтроллеры,
платы,
фото
среда, 21 октября 2009 г.
Плата
Девайс, над которым сейчас тружусь:
Плата контроллера, содержит:
микроконтроллер NXP LPC2368
4 канала 24-бит АЦП
4 канала 14-бит ЦАП (выходы 4-20 мА)
10 дискретных выходов (реле)
Ethernet
USB
RS-232
RS-485 (2 шт)
JTAG
термодатчик
энергонезависимую память (FRAM)
интерфейс для подключения клавиатуры и индикатора
интерфейс для подключения дополнительной платы (2 логических входа и 2 сигнала ШИМ)
Все аналоговые входы и выходы гальванически изолированы как от микроконтроллера, так и друг от друга. Интерфейсы RS-485 также имеют гальваническую изоляцию от микроконтроллера и друг от друга.
Питание платы осуществляется от источника постоянного тока напряжением 24 В.
Плата предназначена для одного прибора. Читать дальше......
Ярлыки:
ацп,
микроконтроллеры,
платы,
фото,
цап
вторник, 13 октября 2009 г.
воскресенье, 11 октября 2009 г.
Книга "Аналого-цифровое преобразование"
Читаю книгу "Аналого-цифровое преобразование".
Впечатления: книга представляет собой сборник статей фирмы Analog Devices. В принципе, весь этот материал доступен на сайте www.analog.com в виде application notes. Но в этой книге все эти статьи собраны воедино и переведены на русский язык. Книга содержит 1016 стр. О переводе - он ужасен. Переводили полные надмозги. (Надмозг - это человек, который не знает сразу два языка.) Current output - это токовый выход, а не выходной ток, уроды. Это не единственный пример, таких перлов на каждой странице по пять штук. Часто заметно, что переводчик вообще не понимает, о чем идет речь. В целом книга очень полезна тем, кто хочет систематизировать и упорядочить свои знания в области АЦП, и при этом разбирается в теме достаточно хорошо, чтобы исправлять ошибки переводчика. Для начинающих я бы порекомендовал что-нибудь попроще.
Читать дальше......
Впечатления: книга представляет собой сборник статей фирмы Analog Devices. В принципе, весь этот материал доступен на сайте www.analog.com в виде application notes. Но в этой книге все эти статьи собраны воедино и переведены на русский язык. Книга содержит 1016 стр. О переводе - он ужасен. Переводили полные надмозги. (Надмозг - это человек, который не знает сразу два языка.) Current output - это токовый выход, а не выходной ток, уроды. Это не единственный пример, таких перлов на каждой странице по пять штук. Часто заметно, что переводчик вообще не понимает, о чем идет речь. В целом книга очень полезна тем, кто хочет систематизировать и упорядочить свои знания в области АЦП, и при этом разбирается в теме достаточно хорошо, чтобы исправлять ошибки переводчика. Для начинающих я бы порекомендовал что-нибудь попроще.
суббота, 26 сентября 2009 г.
Центральная проблема информатики
Как известео, центральной проблемой современной информатики является вычисление значения i (линк):
int i = 5;
i = ++i + ++i;
Читать дальше......
Ярлыки:
программирование
суббота, 12 сентября 2009 г.
понедельник, 7 сентября 2009 г.
C programming for microcontrollers
Глава 3 - Краткое введение в C
Глава 4 - Типы, операторы, выражения.
Ну что я могу сказать... Весьма ниже среднего. Введение в язык настолько сумбурное, что я бы на месте новичка ничего не понял. Пока на 70 страниц две умные мысли: первая - не заморачивайтесь с ассемблером, учите сразу С, вторая - "не пиши умно, пиши просто".
С первым утверждением я согласен с двумя оговорками. Во-первых, в процессе обучения программированию изучение асма нужно хотя бы для того, чтобы понять, что это такое. Во-вторых, младшие модели восьмибитников имеют столь ничтожные ресурсы, что без ассемблера никак.
Со второй мыслью я согласен полностью. Автор советует вообще не запоминать приоритетов операций в С, чтобы не возникло соблазна экономить на скобках в выражениях. Экстремальный подход, но что-то в этом есть.
В остальном, в плане изучения языка лучше Кернигана и Ричи ничего пока не придумано. То, что предлагает автор, является бессвязной смесью из школьной информатики, нескольких страниц из учебника С, нескольких страниц с описанием архитектурры AVR и примера с настолько кривым быдлокодом, что даже разбираться в нем неохота.
Читать дальше......
Глава 4 - Типы, операторы, выражения.
Ну что я могу сказать... Весьма ниже среднего. Введение в язык настолько сумбурное, что я бы на месте новичка ничего не понял. Пока на 70 страниц две умные мысли: первая - не заморачивайтесь с ассемблером, учите сразу С, вторая - "не пиши умно, пиши просто".
С первым утверждением я согласен с двумя оговорками. Во-первых, в процессе обучения программированию изучение асма нужно хотя бы для того, чтобы понять, что это такое. Во-вторых, младшие модели восьмибитников имеют столь ничтожные ресурсы, что без ассемблера никак.
Со второй мыслью я согласен полностью. Автор советует вообще не запоминать приоритетов операций в С, чтобы не возникло соблазна экономить на скобках в выражениях. Экстремальный подход, но что-то в этом есть.
В остальном, в плане изучения языка лучше Кернигана и Ричи ничего пока не придумано. То, что предлагает автор, является бессвязной смесью из школьной информатики, нескольких страниц из учебника С, нескольких страниц с описанием архитектурры AVR и примера с настолько кривым быдлокодом, что даже разбираться в нем неохота.
Читать дальше......
Ярлыки:
книги,
микроконтроллеры,
программирование
C programming for microcontrollers
Начал читать "C programming for microcontrollers", автор Joe Pardue.
Книга состоит из 11 глав, 7 приложений и предметного указателя.В книге рассматривается программирование на языке C для платформы Atmel AVR. Уровень - с нуля.
Прочел первые две главы.
Глава 1 - Введение.
Глава 2 - Краткий обзор программного обеспечения, первая программа.
Впечатления пока не составил. Однако на странице 30 можно наблюдать пример отъявленного быдлокодерства:
// Blinky.c
#include <avr io.h>
#include <avr delay.h>
int main(void)
{
//set PORTD for output
DDRD = 0xFF;
while(1) {
for(int i = 1; i <= 128; i = i*2)
{
PORTD = i;
_delay_loop2(30000);
}
for(int i = 128; i > 1; i -= i/2)
{
PORTD = i;
_delay_loop2(30000);
}
}
return 1;
}
В чем же быдлокодерство? С виду этот код представляет собой обычный код, демонстрирующий мигание светодиодов, своеобразный "hello, world" микроконтроллерного мира. Однако как забавно реализованы циклы! Посмотрите на это чудо:
for(int i = 1; i <= 128; i = i*2)
Ну, я бы еще понял так:
for(int i = 1; i <= 128; i *= 2)
или так:
for(int i = 1; i <= 128; i <<= 1)
Вообще, я бы написал так:
for(int i = 0; i <= 7; i++)
{
PORTD = (1 << i);
...
}
Конечно, во многом это дело вкуса, однако мой вариант кажется мне более понятным.
Далее мы видим вообще нечто странное:
for(int i = 128; i > 1; i -= i/2)
Мой внутренний парсер сказал "э...". Берем бумагу и пишем следующее:
Итерация | Значение i (до)| Значение i/2 | Значение i (после) |
---------+----------------+--------------+--------------------+
1 | 128 | 64 | 64 |
---------+----------------+----------- --+--------------------+
2 | 64 | 32 | 32 |
...
---------+----------------+------------ -+--------------------+
8 | 2 | 1 | 1 |
---------+----------------+--------------+--------------------+
На этом цикл завершается.
Т.е. мы видим, что:
1. i -= i/2 в данном случае эквивалентно i /= 2
2. можно и так i >>= 1;
3. и, не самый лаконичный, но самый понятный, на мой вкус, вариант:
for(int i = 0; i <= 7; i++)
{
PORTD = (128 >> i);
...
}
Читать дальше......
for(int i = 1; i <= 128; i = i*2)
Ну, я бы еще понял так:
for(int i = 1; i <= 128; i *= 2)
или так:
for(int i = 1; i <= 128; i <<= 1)
Вообще, я бы написал так:
for(int i = 0; i <= 7; i++)
{
PORTD = (1 << i);
...
}
Конечно, во многом это дело вкуса, однако мой вариант кажется мне более понятным.
Далее мы видим вообще нечто странное:
for(int i = 128; i > 1; i -= i/2)
Мой внутренний парсер сказал "э...". Берем бумагу и пишем следующее:
Итерация | Значение i (до)| Значение i/2 | Значение i (после) |
---------+----------------+--------------+--------------------+
1 | 128 | 64 | 64 |
---------+----------------+----------- --+--------------------+
2 | 64 | 32 | 32 |
...
---------+----------------+------------ -+--------------------+
8 | 2 | 1 | 1 |
---------+----------------+--------------+--------------------+
На этом цикл завершается.
Т.е. мы видим, что:
1. i -= i/2 в данном случае эквивалентно i /= 2
2. можно и так i >>= 1;
3. и, не самый лаконичный, но самый понятный, на мой вкус, вариант:
for(int i = 0; i <= 7; i++)
{
PORTD = (128 >> i);
...
}
Ярлыки:
книги,
микроконтроллеры,
программирование
четверг, 3 сентября 2009 г.
О себе
Я начинаю свои записки сегодня, 3 сентября 2009 года, с тем, чтобы публиковать здесь различные статьи, заметки, записки, а также все, что придет мне в голову. Записки эти в основном будут касаться микроконтроллеров, ПЛК, встраиваемых систем, схемотехники, программирования, switch-технологии, но не будут ограничиваться столь специфичным кругом тем. И если одинокий путник сочтет мои размышления интересными, или хотя бы любопытными, я буду рад прочесть оставленные им комментарии, однако, разумеется, только в том случае, если комментарии сии находятся в рамках приличия и не содержат бранных слов, более приличествующих завсегдатаям кабаков, нежели образованным и культурным людям, к кругу которых, как я надеюсь, принадлежите и вы, мой дорогой читатель.
Однако, позвольте представиться.
Зовут меня Владимир, я проживаю в славном городе Екатеринбурге и работаю инженером-программистом в одной небольшой фирме. Закончил я славный Радиотехнический факультет Уральского Государственного Технического Университета по специальности "Управление и информатика в технических системах", и могу добавить к сказанному лишь то, что годы, проведенные в стенах этого заведения, были лучшим временем моей жизни.
На этом пока откланяюсь.
С уважением,
Владимир.
Читать дальше......
Однако, позвольте представиться.
Зовут меня Владимир, я проживаю в славном городе Екатеринбурге и работаю инженером-программистом в одной небольшой фирме. Закончил я славный Радиотехнический факультет Уральского Государственного Технического Университета по специальности "Управление и информатика в технических системах", и могу добавить к сказанному лишь то, что годы, проведенные в стенах этого заведения, были лучшим временем моей жизни.
На этом пока откланяюсь.
С уважением,
Владимир.
Читать дальше......
Ярлыки:
блог
Подписаться на:
Сообщения (Atom)