24 ноября 2004, среда
Размышления о пространствах имен
Имитация механизма пространства имен средствами языка Си
Данная статья не претендует на истину в последней инстанции, или даже на практический совет. Это всего-навсего мои размышления о том, как использовать в Си некоторые удобные механизмы из других более высокоразвитых языков.
18 ноября 2004, четверг
Утилита Cog
Я перевел на русский язык описание утилиты Cog:
Страница Cog на русском языке
17 ноября 2004, среда
Keil C51. Ручное использование флага переноса в арифметических операциях
Этот небольшой практический совет показывает как вручную манипулировать флагом переноса в арифметических операциях. Такая «мануальная терапия» может быть полезна при работе с двухбайтными регистрами таймеров 0 и 1. Приведены несколько примеров, показаны способы оптимизации кода.
Keil C51. Ручное использование флага переноса в арифметических операциях
13 ноября 2004, суббота
Keil C51. Использование внешних трансляторов
В статье «Keil C51. Использование внешних трансляторов исходных файлов при сборке проекта» идет речь об одной редко используемой, но тем не менее очень мощной возможности. А именно возможности использовать внешние трансляторы для некоторых исходных файлов вашего проекта. В статье рассказывается как подключить и настроить внешние трансляторы на примере утилиты pyLCDstring.
5 ноября 2004, пятница
Практические советы: Хаки
Одна известная народная поговорка гласит: «Если нельзя, но очень хочется то можно».
Я добавил новый подраздел в «Практические советы», который называется «Хаки». В этом подразделе собраны советы, которые нельзя рекомендовать для повсеместного применения, поскольку они подобны острой бритве при неосторожном использовании можно больно порезаться. Если же использовать эти хаки умело, то можно попытаться выжать из языка Си больше, чем предлагает нам стандарт ANSI C. Здесь собраны только нестандартные решения и практически все они не переносимы и узкозаточены.
6 октября 2004, среда
О пользе вопросов
Статья-размышление Влада Князева «О пользе вопросов»:
Наша жизнь целиком состоит из вопросов и кажется, что она сама по себе представляет один большой вопрос. Бесконечные кто, что, как, почему, где, когда, зачем сыплются на нас как из рога изобилия. И от них никуда не деться. От вопросов, точнее от поисков ответов на них, пухнет голова. Неужели нельзя обойтись без них?
28 сентября 2004, вторник
Обновлен FAQ
FAQ по работе с Keil C51 пополнился новыми вопросами и ответами, в основном благодаря вопросам, которые задаются в почтовом форуме сайта.
25 сентября 2004, суббота
Числа с плавающей запятой
В справочный раздел добавлено краткое описание формата чисел с плавающей запятой одинарной точности (Си-тип float) см. «Форматы дробных чисел с плавающей запятой».
В раздел утилиты добавлена утилита FPConvert Влада Князева для преобразования вещественных чисел в формат 4х байт числа с плавающей запятой.
14 сентября 2004, вторник
Baud_TH1
Небольшая утилита Baud_TH1 помогает рассчитать значение для перезагружаемого таймера 1 в процессорах семейства MCS-51, когда этот таймер используется для генерации тактовых импульсов для модуля UART.
30 августа 2004, понедельник
Сбор черной смородины
Новая заметка Влада Князева «Сбор черной смородины» посвящена теме на первый взгляд далекой от инженерной работы. Однако, какой бы банальной она не показалась, речь идет о вполне серьезных вещах.
«Любая монотонная длительная работа у меня неизменно ассоциируется со сбором черной смородины.
Я научился собирать смородину не за один раз, и даже не за один год... Мне каждый год приходилось заниматься этим делом. И с каждым годом я делал это все с меньшим и меньшим напряжением для себя...»
26 июля 2004, понедельник
The Spirit of C
С приятным удивлением узнал, что в стандарте ANSI C продекларированы базовые ценности языка Си в виде краткого списка из 5-ти пунктов, озаглавленные «The Spririt of C» («Дух Си» или «Суть Си»):
- Trust the programmer
- Don't prevent the programmer from doing what needs to be done
- Keep the language small and simple
- Provide only one way to do an operation
- Make it fast, even if it is not guaranteed to be portable
Русский вариант:
- Доверяй программисту
- Не мешай программисту делать то, что необходимо сделать
- Сохраняй язык кратким и простым
- Предоставляй только один способ выполнить операцию
- Делай это быстро, даже если при этом не гарантируется переносимость
Взято из интервью А. Мартелли о языке Python
13 июля 2004, вторник
Переезд сайта
Официально объявляю, что сайт «On Embedding» получил новую прописку по адресу http://OnEmbedding.com. Прошу любить и жаловать (и скорректировать свои закладки).
25 июня 2004, пятница
Новый практический совет
Новый совет для программистов Keil C51: «Расположение переменных по абсолютному адресу» (на примере строк в памяти программ), написан мною в результате появления аналогичного вопроса в почтовом форуме сайта.
15 июня 2004, вторник
Awk
Добавлена небольшая заметка о языкe программирования Awk.
14 июня 2004, понедельник
Немного об арифметике
Новая статья Влада Князева «Немного об арифметике».
В этой статье проводится детальное сравнение 8-битных процессоров семейств AVR, PIC16 и MCS-51 с точки зрения арифметики чисел со знаком. Сравнение даже близких по своим характеристикам процессоров является занятием весьма хлопотным, но, наверное, в пользе такого сравнения вряд ли кто будет сомневаться. Отметим, что сейчас мы будем анализировать только одну их характеристику: способность к арифметическим вычислениям. Пусть это будет еще одна «копейка» в копилке сравнительного анализа характеристик этих контроллеров.
11 июня 2004, пятница
AVR JTAG ICE обновление материалов от Виталия Кротевича
Виталий Кротевич, дипломированный специалист по теме AVR JTAG ICE, порадовал нас новой версией материалов для повторения фирменного JTAG для AVR.
Самым интересным материалом является его статья
«Как работает системный загрузчик эмулятора AVR JTAG ICE или очевидное требует проверки».
Все необходимые материалы (схемы, прошивки, инструкции) вы можете скачать в разделе Файлы - AVR JTAG - Вариант Виталия Кротевича.
2 июня 2004, среда
Умножение без умножения
Новые материалы в разделе «Практические советы»: Умножение без умножения автор Влад Князев.
В этом практическом совете Влад Князев подробно исследует операцию умножения на целые числа-константы. Приводимые советы основываются на строгой математической базе и могут использоваться в случаях, когда необходимо оптимизировать умножение переменных на некоторые заранее известные константы.
29 мая 2004, суббота
Листая старые архивы: «Электроника» №7, 1981
Эту короткую заметку из журнала «Электроника» №7 за 1981 прислал Влад Князев. Читайте и наслаждайтесь. Или ностальгируйте :-)
Микрокомпьютер, потребляющий 12 мВт
11 мая 2004, вторник
О пользе синонимов
Новая статья Влада Князева «О пользе синонимов».
Слова-синонимы обогащают язык. Причем не только «человеческие» языки имеют синонимы. Синонимы присутствуют и в языках программирования микроконтроллеров.
В своей статье Влад Князев объясняет сущность использования синонимов в программировании и на практических примерах показывает их истинную силу.
8 апреля 2004, четверг
Практические советы: добавлен новый совет
В разделе «Практические советы» обновление: добавлен новый совет. Этот совет прислал Влад Князев, он основан на материалах его статьи «Что это за зверь Исключающее ИЛИ?».
7 апреля 2004, среда
Сочинение на заданную тему:
«Куда бедному крестьянину податься?»
Новая статья Влада Князева это попытка увидеть со своей колокольни перспективы развития электронной промышленности в постсоветском пространстве. Статья написана по многочисленным просьбам поклонников таланта Bill-а в конференции на Телесистемах.
Я настоятельно рекомендую Вам прочитать эту статью. Пусть даже все те выводы, что сделал со своей колокольни Влад, окажутся для Вас неприемлемы. Но это серьезная и обоснованная точка зрения.
И это стоит принимать в расчет.
На сегодняшний день статья была опубликована на двух форумах на Сахаре-ру и Телесистемах-ру:
http://www.caxapa.ru/story/wheretogo.html
http://telesys.ru/bill_write.shtml
Статья, естественно, вызвала мощный флейм на Телесистемах. Ветка обсуждения от 7 апреля 2004 здесь:
http://telesys.ru/wwwboards/mcontrol/640/messages/36723.shtml
Однако веб-мастер телесистем предлагает специально подготовленную
площадку для обсуждения. Воспользуйтесь ею:
Обсуждение
6 апреля 2004, вторник
Дискуссионный лист «Про встраиваемые системы»
Я открыл дискуссионный лист на сервисе Subscribe.ru. Теперь все желающие могут задавать вопросы и давать свои ответы. Вам нужно только подписаться на этот лист.
Все обсуждения будут проходить через обычную почту. Для того, чтобы задать вопрос, вы пишите письмо по адресу tech.onembedding.forum-list@subscribe.ru.
Все вопросы-ответы, вся дискуссия будет приходить вам по почте. Для того, чтобы ответить на чей-то вопрос, вам следует написать на тот же адрес. Удобством такого метода можно считать то, что все сообщения «приходят» к вам на дом.
Дискуссионный лист премодерируемый. Это значит, что все соощения будут проходить через меня. Те сообщения, которые будут нарушать правила форума, в него не попадут. Правила просты. К злостным нарушителям будут применяться злостные меры.
Бесплатный сервис Subscribe.ru накладывает ограничения на количество сообщений в день, равное N*10. Надеюсь, это не будет таким уж принципиальным ограничением.
Вы заинтересовались? Тогда подписывайтесь на дискуссионный лист и начинайте общаться!
2 апреля 2004, пятница
Keil C51. Расширения языка Си. Ключевое слово using: тонкости использования
Новая статья, написанная на основе переписки с одним из читателей моего сайта.
Иногда мне приходят письма от читателей сайта с просьбой помочь в решении той или иной проблемы, возникающей при работе с пакетом Keil C51 с Си-компилятором или симулятором-отладчиком. Конечно же, я не могу знать всех нюансов работы этого пакета и ответить на все приходящие вопросы. Впрочем, часто всплывают вопросы, с которыми я и сам когда-то сталкивался в своей работе. На такие вопросы я стараюсь отвечать по мере сил и наличия свободного времени.
Сегодня я хочу рассказать вам об одном нюансе использования компилятора Keil C51. Этот нюанс связан с использованием различных банков регистров R0-R7 и ключевого слова using.
Перейти к статье >>
31 марта 2004, среда
Что это за зверь — «Исключающее ИЛИ»?
Новая статья Влада Князева рассказывает о различных свойствах элементарной логической функции «Исключающее ИЛИ». Статья будет полезна тем, кто с операцией «Исключающее ИЛИ» знаком лишь поверхностно. Если вы считаете, что знаете эту тему очень хорошо, предлагаем вам сразу перейти к решению одной несложной задачки.
25 марта 2004, четверг
Новый раздел: Практические советы
Я открываю новый раздел на сайте «On Embedding» это «Практические советы».
В этом разделе будут представлены короткие материалы, представляющие практические советы по использованию тех или иных инструментов, либо освещающие типичные подходы к решению часто встречающихся задач.
Новая статья «Использование меню Tools» написана мною специально для этого раздела. Статья носит обзорный характер и ориентирована прежде всего на начинающих. Написана она под влиянием разговора с моим товарищем, которого можно смело отнести к категории новичков-программистов. Я внезапно осознал, что многие вещи, которые естественны и очевидны для меня, далеко не так очевидны и интуитивно понятны людям, которые только делают первые шаги.
22 марта 2004, понедельник
Рассылка новостей
Запущена в работу рассылка новостей сайта. Подписаться на новости можно на сайте рассылок Subscribe.ru
JTAG для AVR
Для тех, кто не разобрался: как отлаживать программы, написанные в IAR AVR 2.28, с помощью JTAG.
17 марта 2004, среда
Мысли, навеянные рекламой косметики
Новая статья Влада Князева «Мысли, навеянные рекламой косметики» затрагивает тему визуального оформления программ, написанных на Си, то, что часто называют стилем написания программ.
После прочтения этой статьи мне невольно вспомнился язык программирования Python и его правила оформления текстов программ. А именно тот факт, что для выделения блоков в питон-программах используются отступы и переводы строк. Никаких «begin-end», ни фигурных скобок и ничего другого подобного. Только отступы. Многие считают, что за счет этого программа становится гораздо читабельнее и меньше в размерах, и, следовательнее, в ней будет меньше ошибок. Причем вопрос оформления программ диктуется правилами самого языка вам не нужно выдумывать свои правила. От вас требуется лишь следовать уже установленным соглашениям. Таким образом создатель языка Python Гвидо ван Россум раз и навсегда решил одну из проблем в выборе стиля оформления. Конечно, это еще не абсолютное решение, но без сомнений решительный шаг.
11 марта 2004, четверг
Утилита pyLCDstring
Представляю вашему вниманию первый публичный релиз моей новой утилиты pyLCDstring.
Эта утилита предназначена для подготовки набора русских строк к использованию в программах, в которых используется вывод текстовых сообщений на символьные ЖКИ. При обработке строк с русскими буквами производится замена их соответствующими эквивалентами кодами знакогенератора контроллера ЖКИ типа HD44780.
Утилита pyLCDstring работает с текстовыми файлами. На вход утилите вы подаете свой исходный файл с набором строк, которые необходимо перекодировать. Утилита на его основе строит два файла: исходный Си-файл с объявлениями строк, как глобальных переменных, и заголовочный h-файл с декларациями этих строк.
Выделение всех строк в один файл с одной стороны облегчает работу с набором логически связанных строк, с другой стороны позволяет избегать дублирования одинаковых строк в разных местах программы. Но самое главное корректировать строки в случае необходимости становится очень легко. Вам нужно только будет перекомпилировать исходный файл утилитой pyLCDstring и вы получите обновленный Си-файл.
Кроме того, я включил возможность указывать кодировку русских букв (выбор из пяти распространенных кодировок), задавать выравнивание строки в поле заданной ширины, и задавать свои правила перекодировки. Плюс к этому, задав соответствующую опцию в командной строке, можно заставить утилиту проверять файлы по дате, и перекомпилировать исходный файл только в случае, если его содержимое изменилось.
Страница утилиты pyLCDstring
27 февраля 2004, пятница
Об инструментах
Новая статья Влада Князева «Об инструментах» написана по свежим следам и под впечатлением от успешно запущенного флейма о возможном применении интерпретируемых языков высокого уровня во встраиваемых системах.
Статья «Об инструментах»
5 февраля 2004, четверг
JTAG для AVR своими руками: дополнение (вариант Uri Kim)
Некоторая переделка платы JTAG, прислал Максим Дятел (aka Max_Fly). Вот его сообщение:
Может не мне и не вам а кому-то в сети будет на пользу.
Высылаю чуть подправленную версию Uri Kim.
Просмотрите может на что сгодится. Я где можно было расширил
дорожки, перекинул измерение напряжения таргета + добавил ключ TON
(Target On). Если питание таргета есть ключ замыкается и
представляет собой то сопротивление 47 ом которое стоит в схеме,
иначе айс предупредит о том, что питание не включено. :). Так
просто забота о тех, кто заработался, и пытается прошить обесточенный
прибор. Наличие питания таргета индицируется светодиодом. Кстати
хорошо было бы крепление сделать, но я не успел.
С уважением и очередной уссурийской мудростью:
«Эротический инструмент - пассатижи.»
-=Maxim=-
Скачать вариант Max_Fly: jtagmax.zip 151 КБ
23 января 2004, пятница
JTAG для AVR своими руками (вариант от Виталия Кротевича)
Еще один вариант реализации JTAG этот от Виталия Кротевича aka Vit. В архиве есть схема его варианта, краткая инструкция о том, как оживлять плату плюс необходимые hex-файлы для прошивки кристалла.
JTAG для AVR своими руками: дополнение (вариант Uri Kim)
Важное замечание: в приведенной схеме найдена небольшая ошибка перепутаны сигналы идущие на выводы PA0 и PA2 процессора. Вот исходное сообщение от автора Uri Kim:
Спасибо -=Vit=-.
В схеме необходимо поправить одну ошибку, то что шло на PA0 процессора пускаем на PA2, а то что шло на PA2 процессора пускаем на PA0. Схема работает и без исправления, но неправильно показывает напряжение TARGET.
22 января 2004, четверг
JTAG для AVR своими руками (вариант Uri Kim)
За последний год в телеконференции много раз промелькивали сообщения, о том, что имеется возможность повторить своими руками отладочный комплект JTAG для процессоров семейства AVR. Дело сдвинулось с мертвой точки когда на одном чешском сайте была опубликована статья по этой теме.
И вот, наконец, мы имеем схему, плату и описание на нормальном русском языке этой конструкции, пригодной для повторения. Автор этого варианта инженер Uri Kim. В архиве jtag.zip вы найдете все необходимое плюс краткое, но нормальное описание что куда и зачем.
Скачать jtag.zip 238 КБ
Для тех, у кого нет P-CAD2002, может оказаться полезной программа-просмотрщик P-CAD Viewer от нынешнего производителя системы P-CAD2002 Altium.
Скачать P-CAD2002 Viewer
Для программирования ATMega163 удобнее всего будет воспользоваться программатом AVReAl автор Александр Редчук.
Домашняя страница программатора AVReAl
21 января 2004, среда
Кодовая страница CP1251
Русская кодовая страница в Windows имеет номер 1251. При наборе текстов в любом редакторе под управлением OS Windows имеется возможность вводить некоторые специальные символы, используя так называемые Alt-коды. При этом десятичный код символа вводится цифрами на дополнительной цифровой клавиатуре при нажатой клавише Alt. Я перечислил те символы, которые могут быть полезны при наборе текстов для web или любых других текстов.
Кодовая страница CP1251: коды некоторых специальных символов