Перейти к содержанию

Yan Frankovski

Members
  • Постов

    2
  • Зарегистрирован

  • Посещение

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

Достижения Yan Frankovski

Новичок

Новичок (1/14)

  • Неделя на форуме
  • Месяц на форуме
  • Год на форуме

Последние значки

0

Репутация

  1. Спасибо всем за ответы, после нескольких тестов, чтобы быть уверенным, что подтяжка таки выключается, а контакт ловит напряжение как-то из воздуха, я подключил ввод к пину другого мк, и все стало нормально. Мораль - не забывайте замыкать участки цепи
  2. Доброго времени суток. Решил обновить свои знания по мк, купил большой ATmega8515-16PU, установил Atmel Studio 7 для кода, и eXtreme Burner для прошивки (программатор USBASP). Задал себе простую боевую задачу - читать значение на нулевом пине порта Ц. Если там логическая единица - выдавать напряжение на нулевой пин порта Д, чтобы зажечь СИД. Быстро набросал простенькую программу для этого (без цикла, сбрасываю мк и перезапускаю в нем прогу снимая с него питание). Вот такой у меня получился код: На порте Ц, в самой схеме, у меня даже никаких проводов нет, никакого сигнала, когда я запущу прошивку, диод должен быть потушен. Ок, прошиваю, запускаю - горит, сволочь! Но я тоже не лыком шит, смекаю, что в мк скорее всего стоит подтяжка к питанию встроенная. Начинаю шарить доку, нахожу вот такой текст: Ага, значит нужно установить PUD бит в регистре SFIOR. Нахожу таблицу для SFIOR, и таблицу в разделе I/O Ports: Ок, выставляю 2-ой бит в SFIOR регистре в 1, согласно таблице на первой картинке: SFIOR |= 0x04; //0b00000100; Устанавливаю 2-й бит в регистре SFIOR через маску. Смотрю на регистры DDRC и PORTC в рамках таблицы из второй картинки. Для нулевого пина оба бита стоят 0, подтяжка должна быть выключена. Прошиваю, смотрю на диод - все равно горит, сволочь! В качестве эксперимента - подключаю нулевой пин порта Ц в землю (сбрасываю напряжение, как если-бы подтяжка была включена), перезапускаю, диод гаснет. Финальный код программы: Собственно, вопрос: Что же, черт его дери, происходит с этим мк, и как мне вырубить эту подтяжку? P.S Если включить участок кода проверяющий PINC в цикл, мк вообще начинает беситься. Вне зависимости от каких-либо манипуляций СИД тускло светится, когда должен быть погашен, и светится ярко при сбросе нулевого пина порта Ц в землю =(
×
×
  • Создать...