rs485: краткое описание

Решил сделать краткое описание интерфейса rs485.

Читать далее

Рубрика: Интерфейсы | Метки: | Комментарии (7)

AVR: подключаем lcd hd44780

hd44780Существует множество различных LCD дисплеев, но наиболее простыми в освоении являются текстовые дисплеи на основе контроллера hd44780, которые стали де-факто стандартом на  символьные ЖКИ.

Читать далее

Рубрика: Микроконтроллеры avr | Метки: , , | Добавить комментарий

AVR: подключаем GPS приёмник

gps avrЕсли GPS приёмник имеет интерфейс rs232 (а его имеет большинство GPS модулей) то его можно легко подключить к микроконтроллеру avr atmega.
Читать далее

Рубрика: Микроконтроллеры avr | Метки: , | Комментарии (13)

vim: изменяем формат перевода строк

vimСуществуют два основных формата окончания строк.  DOS’овский — ‘\r\n‘  и UNIX’овый — ‘\n‘. Vim может работать как с первым, так и со вторым.  Если vim распознает DOS’овский формат файла,  то в нижней части экрана он выводит ‘[dos]‘.

Для того что бы изменить формат окончания строки на тот, что принят в  UNIX, надо в vim’е выполнить команду: Читать далее

Рубрика: Редактор vim | Метки: | Добавить комментарий

AVR: подключаем 3х осевой акселерометр mma7455l

mma7455lДумаю, и так всем известно, что акселерометр измеряет ускорение.

Мне в руки попался цифровой трёх осевой акселерометр MMA7455L, с ним и буду экспериментировать.

Читать далее

Рубрика: Микроконтроллеры avr | Метки: , | Добавить комментарий

perl: генерируем HTML таблицу

Редактируя очередную таблицу при написании заметки, я подумал, а может можно этот процесс как-то ускорить, а уж очень  не удобно и долго создавать таблицу при помощи тегов <tr> <td>.

Возможно, есть плагин для wordpress, но я решил написать небольшой скрипт на perl. Выбрал perl потому что когда-то уже писал на нём, и мне показалось, что скрипт должен получиться небольшой и очень простой.

Скрипт должен обрабатывать текстовый файл, в котором таблица задана в формате подобном Textile:

| A | B | C |
| 1 | 2 | 3 |
| a | b | c |

Читать далее

Рубрика: Сайтостроительство | Метки: , | Добавить комментарий

AVR: неожиданный способ оптимизации

При переходе на новую версию компилятора avr-gcc ( c древней  4.3.5 на  4.7.0 ) размер прошивки внезапно уменьшился почти на 10%.  И если раньше прошивка занимала почти всю доступную программную память — 250Кb, то теперь её размер  230Kb, то есть освободилось почти 20Kb flash памяти.

Но при переходе возникли некоторые сложности, и пришлось вносить небольшие изменения в код.
Читать далее

Рубрика: Микроконтроллеры avr | Метки: , | Комментарии (3)

gnuplot: пример простого графика

gnuplotЕсли есть текстовый файл, в котором сохранен лог каких-нибудь измерений, то что бы построить по ним график можно воспользоваться утилитой gnuplot.  Думаю, что gnuplot может нарисовать график даже в виде котёнка, но мне потребовалось построить обычные графики величин, снятых по 3-м осям.

 

Читать далее

Рубрика: Использование linux | Метки: | Комментарии (4)

AVR: Переносим строки в программную память

При программировании под микроконтроллеры приходится учитывать что объем ОЗУ(RAM) и программной памяти(flash) ограничен. По этому приходится искать способы что бы эту память сэкономить.

К примеру рассмотрим простую строку кода:

puts( "hello world" );

Под строку «hello world» выделяется место в ОЗУ, и при старте эта область памяти инициализируется из flash. Т.е получается что эта строка занимает память и в ОЗУ и во flash.

Пока программа небольшая, все хорошо, но в определенный момент ОЗУ кончается, и программа перестаёт работать.

Что можно сделать? Первое — это отказаться от использования строк в ОЗУ. И поместить все строковые константы в программной памяти.

Далее описаны примеры оптимизации кода для компилятора  avr-gcc (WinAvr). Читать далее

Рубрика: Микроконтроллеры avr | Метки: , | 1 комментарий

AVR: SPI

spi avrSPI — (Serial Peripheral Interface) последовательный периферийный интерфейс. В основном служит для передачи данных внутри устройства (на плате или между платами ). Скорость обмена по SPI может достигать нескольких  MГц. При обмене по SPI устройства делятся на  ведущего (Master) или ведомого(Slave). В самом простом случае есть один мастер и один слэйв.  Но может быть и несколько ведомых,  для выбора с каким ведомым работать используются сигнал SS (Slave Select). Ведущее устройство выбирает с каким ведомым устройством оно будет обмениваться данными и генерирует тактовый сигнал. Читать далее

Рубрика: Микроконтроллеры avr | Метки: , , | Комментарии (3)