реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Непонятный mega8515, Не включается светодиод на выходе
sealbi
сообщение Jun 1 2011, 15:46
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 14-01-10
Пользователь №: 54 795



Пишу программу на mega8515. К биту A6 припаян через резистор светодиод.
DDRA = 0xff; PORTA = 0xff;
PORTA = 0xBF; светодиод на зажигается
PORTA.6=0; зажигается!
В листинге ассемблер правильный.
Подскажите, кто знает, что это?
Go to the top of the page
 
+Quote Post
Marian
сообщение Jun 1 2011, 16:46
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 23-02-07
Пользователь №: 25 618



Цитата(sealbi @ Jun 1 2011, 18:46) *
Пишу программу на mega8515. К биту A6 припаян через резистор светодиод.
DDRA = 0xff; PORTA = 0xff;
PORTA = 0xBF; светодиод на зажигается
PORTA.6=0; зажигается!
В листинге ассемблер правильный.
Подскажите, кто знает, что это?

Думаете чудо?
Посмотрите куда идет второй конец цепи и все поймете.
Go to the top of the page
 
+Quote Post
sealbi
сообщение Jun 1 2011, 23:33
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 14-01-10
Пользователь №: 54 795



Второй конец цепи подключен к +питания. Да и как это влияет, команды ведь логически аналогичные?
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jun 2 2011, 04:31
Сообщение #4


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



В CodeVision ваяете?
Покажите код инициализации, листинг и фьюз-биты.
Альтернативные функции порта не используете?


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 2 2011, 06:14
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (sealbi @ Jun 2 2011, 02:33) *
Второй конец цепи подключен к +питания. Да и как это влияет, команды ведь логически аналогичные?
Нарисуйте на схеме путь протекания тока через светодиод. Кокда вы выводите в порт единицу, на выходе появляется напряжение около +5в. На втором выводе светодиода у вас тоже +5в, т.е. на обоих выводах по +5в. Откуда взяться току? Тока нет, светодиод не светится. Все правильно.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jun 2 2011, 07:13
Сообщение #6


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(Сергей Борщ @ Jun 2 2011, 10:14) *
Тока нет, светодиод не светится. Все правильно.
Так он должен зажигаться и при
Код
PORTA &= ~(1<<6); //0xBF


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jun 2 2011, 07:33
Сообщение #7


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Есть пред[по]ложение.
Прогоните через порт бегущий ноль.
Возможно, с/д висит не на 6, а на другом разряде. Либо закорочен с соседними.
Это в том случае, если эти две строки
Код
PORTA = 0xBF; светодиод на зажигается
PORTA.6=0; зажигается!

формируют одинаковый листинг.

Чудес не бывает, а дерьмо случается. ©


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jun 2 2011, 10:34
Сообщение #8


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(MrYuran @ Jun 2 2011, 11:33) *
...формируют одинаковый листинг.

Не могут они одинаковый листинг формировать.
PORTA = 0xBF - запись байта в порт
PORTA.6=0 - очистка одного бита в порту.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jun 2 2011, 10:40
Сообщение #9


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(demiurg_spb @ Jun 2 2011, 14:34) *
Не могут они одинаковый листинг формировать.
PORTA = 0xBF - запись байта в порт
PORTA.6=0 - очистка одного бита в порту.

Нормальный компилятор и в том, и в другом случае вставит однобайтную инструкцию очистки бита.

Хотя нет, наверно погорячился... Это если бы маску накладывать, то да...


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
sealbi
сообщение Jun 2 2011, 11:55
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 14-01-10
Пользователь №: 54 795



Разобрался, все работает, было заклинивание мозга, перепутал 0x7F и 0xEF. Извмните! sm.gif
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jun 2 2011, 12:01
Сообщение #11


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Пользуйтесь конструкцией (1<<x) при работе с масками и битами - мозг меньше будет уставать. Серьёзно.

Цитата(MrYuran @ Jun 2 2011, 14:40) *
Это если бы маску накладывать, то да...
Ага.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jun 2 2011, 20:56
Сообщение #12


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(sealbi @ Jun 2 2011, 10:55) *
...перепутал 0x7F и 0xEF

Просветите, где там у вас 0x7F и 0xEF?


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 20:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01459 секунд с 7
ELECTRONIX ©2004-2016