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

 
 
> Вопрос по регистру PINx, I/O..., не могу понять почему так, а не иначе..
MakFatum
сообщение Apr 10 2006, 09:49
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 54
Регистрация: 7-12-05
Пользователь №: 11 912



Здравствуйте!...

Столкнулся с небольшой проблемой:
Две частоты (НЧ И ВЧ) у меня умножаются, на выходе получаются пачки импульсов...
Отдельно НЧ выходит с OC1А
ВЧ: OC2

В Atmege 16 это порты PD7, PD5 соответственно!
Ну и перемножаю я:

if((PIND.5)&&(PIND.7)) {
PORTC.5 = 1;
}
else
PORTC.5 = 0;

опрашивая PD7, PD5 и выводя это в PORTC.5

Никак не могу понять в ДВУХ эмуляторах VMlab и Proteus этот код работает,
а в РЕАЛЬНОМ устройстве нет...
ПОЧЕМУ?...
Мне раньше в этом форуме ответили:

"У тебя-же эти выходы натроены на выход,соответственно чтение пинов некорректно.Самый простой выход - если есть незадействованные порты,настрой их на чтение и заведи свои выходы в парралеь и на них."
...
Я полагал раньше, если DDRx установлен на выход и программно изменяются состояния этого выхода с "0" на "1" и обратно, ТО и PINx должен изменять свое состояние?..
Неужели не так?...
В Vmlab во вкладке I/O Ports и в Proteus с регистром PINx так и происходит!!!!!!!!!!!!

В реальном устройстве действительно пришлось OC2 и OC1A завести на неиспользуемые пины, настроить на чтение, опрашивать их и только тогда заработало....

как позже потом написали на конференции "точки опоры":
при эмуляции в AVR studio происходит тоже самое
То есть в АВРстудио тоже работает......

В чем может быть дело?

Спасибо...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
defunct
сообщение Apr 10 2006, 10:12
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Вам действительно нужны обе частоты отдельно?
Ведь можно прямо внутри чипа без всяких OC получить результирующий (умноженный) сигнал.
Go to the top of the page
 
+Quote Post
MakFatum
сообщение Apr 10 2006, 10:40
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 54
Регистрация: 7-12-05
Пользователь №: 11 912



Цитата(defunct @ Apr 10 2006, 16:12) *
Вам действительно нужны обе частоты отдельно?
Ведь можно прямо внутри чипа без всяких OC получить результирующий (умноженный) сигнал.

Для контроля НЧ и ВЧ надо бы мне выводить наружу....
Расскажите пожалуйста, каким методом это делается (умножается) внутри чипа?

Цитата
1. Смешивать не биты ножек, а два флажка в ОЗУ (можно в регистрах).

..........Немного не понял, чуть поподробнее можно, или где почитать?.........
Цитата
2.Если выходы посажены на транзисторы(а по-моему - так и есть) напряжения на входе действительно не будет - ток будет качаться через базу, а падение будет 0.7В. Тут можно использовать полевик или увеличивать базовый резистор.

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

Так в том-то и дело, что PINx железе получается не изменяется при выводе, а в эмуляторах и отладчиках как с добрым утром дергается...из 0 в 1, и обратно

Спасибо...

Сообщение отредактировал MakFatum - Apr 10 2006, 10:44
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 09:12
Рейтинг@Mail.ru


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