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

 
 
> Есть сансеи по AVRам?, Есть сансеи по AVRам?
bigen
сообщение Jul 14 2004, 13:09
Сообщение #1





Группа: Свой
Сообщений: 12
Регистрация: 21-06-04
Пользователь №: 72



Читаю IN R16,PINA - записывается последний байт, который передавал из порта.
Читаю по-битно
SBIS PINA,0
JMP M
ORI R16,01
M1: SBIS PINA,1
JMP M1
ORI R16,02
M1:
и т.д. - все в порядке. В чем разница? Ведь можно же читать сразу входной байт, где ошибка?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
IgorKossak
сообщение Oct 20 2004, 14:41
Сообщение #2


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Абсолютно прав Maxim и без всяких "если".
В Атмеловских даташитах об этом однозначно говорится, что появление сигнала на выходе порта происходит в следующем такте после исполнения соответствующей команды записи в порт. Поэтому команда чтения из соответствующего пина ОБЯЗАНА отставать от команды записи хотя бы на один такт (команда NOP как минимум), иначе будет считано предыдущее состояние пина.
При пошаговой отладке, например через JTAG, может показаться, что это не верно, т. к. тактовый генератор не останавливается и нужные такты проскакивают как раз между соседними шагами.
Go to the top of the page
 
+Quote Post
-Tумблер-
сообщение Dec 2 2004, 11:01
Сообщение #3


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

Группа: Свой
Сообщений: 146
Регистрация: 4-11-04
Из: Московская область
Пользователь №: 1 040



Цитата(IgorKossak @ Oct 20 2004, 17:41)
.. появление сигнала на выходе порта происходит в следующем такте

.. (команда NOP как минимум)..
*


Почему то у Меги128 (16 мГц) "для гарантии" требуется
2 NOP..
sad.gif


--------------------

- ЗАМЕНЯТЬ ДЕТАЛИ НА ХОДУ ВОСПРЕЩАЕТСЯ !!! -
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- bigen   Есть сансеи по AVRам?   Jul 14 2004, 13:09
- - Ander   А в чем проверял? На симуляторе небось?   Jul 14 2004, 13:38
- - maegg   попробуй заменить jmp на rjmp, сам не проверял но ...   Jul 15 2004, 06:54
- - Maxim   Между командами записи и чтения поставь NOP и все ...   Jul 15 2004, 10:24
- - alt   вы дали не весь код нет команды записи в порт. неп...   Jul 23 2004, 14:08
- - bvn123   Если проверка в симуляторе и предв.выполнено: ser   Aug 9 2004, 11:52
- - bvn123   Если выполнено: ser r16 out DDRA,r16 out PORTA,r1...   Aug 9 2004, 11:58
- - bvn123   Если выполнено: ser r16 out DDRA,r16 out PORTA,r1...   Aug 9 2004, 12:01
- - DIM   NOP после чтения очень помогает порты обновляются ...   Aug 10 2004, 08:27
- - alt   Не надо вставлять лиший код в программу. Микруха п...   Sep 1 2004, 11:45
- - Styv   И это точно!   Oct 20 2004, 08:52
- - Himer   Задержки нужны есле относительно большая емкостная...   Oct 20 2004, 13:07
- - Idler   Цитата(-Tумблер- @ Dec 2 2004, 14:0...   Dec 3 2004, 21:57
- - IgorKossak   Ну тогда лучше не 2 NOP, а один RJMP на следующую ...   Dec 6 2004, 08:26


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

 


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


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