Третья программа. Выдача данных с АЦП на UART

Автор DI HALT
Опубликовано 14 Дек 2008 
Рубрики: AVR. Учебный курс
Метки: , , , , ,

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

Задача:
Получить напряжение с АЦП и отправить его по последовательному порту в комп. В компе полученный поток байт представить в виде графика.

Теоретическую часть я уже разобрал, осталось поставить эксперимент в реальном железе. Эксперимент будем ставить на ранее собранной отладочной плате. Хоть она и больше заточена на обкатку силового блока моего робота, но под наши задачи сгодится — на штыри выведены каналы ADC4 и ADC5, так что заюзаем их. Читать полностью

Комментариев (27)

AVR. Учебный Курс. Конфигурация FUSE бит

Автор DI HALT
Опубликовано 15 июля 2008 
Рубрики: AVR. Учебный курс
Метки: , , ,

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

Но без знания этой особенности контроллера далеко не уедешь. Так что распишу все по порядку. У разных версий контроллеров число FUSES разное, какие то могут отсутствовать, но основные есть всегда. Вот по ним и пройдемся.

Конфигурационные биты находятся в особой области памяти и могут быть изменены только с помощью программатора при записи контроллера. Есть старший байт и младший байт. Младший байт обычно отвечает за частоту, а старший за всякие фенечки.

Итак, главное:

В Atmel AVR принята следующая нотация: сброшенный в ноль fuse bit считается активным, т.е. включенным.

Пример Бит RSTDSBL, как можно догадаться из названия, это RESET DISABLE. Включил эту опцию и у тебя нога RESET превращается в порт ввода-вывода, но за это ты теряешь возможность перешить контроллер через ISP.

Так вот, чтобы выключить RESET (и получить большое западло с прошивкой в обмен на мелкую подачку в виде дополнительной ножки) в этот бит надо записать 0.

С одной стороны нелогично и криво. Как бы во всем мире принята нотация, что ноль это выключено, а тут, понимаешь, наоборот. С другой стороны, это их контроллер, что хотят то и делают. Один раз запомнить и все. Да и вообще, в электронике часто за сигнал берут ноль.

Читать полностью

Комментариев (102)


Материалы сайта являются авторскими. Копирование и публикация материалов без активной ссылки на первоисточник запрещено.

Реклама: