| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Inline функции в CodeVision AVR
23.08.2011, 16:34
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
|
Re: Inline функции в CodeVision AVR
Мне надо нажать кнопку и выдать 1000 импульсов в прямом направлении.
После того, как я окажусь
|
PHP код:
|
loop: ld r16, z+
out portd, r16
and zl, 0xFC
rjmp loop
|
выйти я могу только по прерыванию. вышел. нажал другую кнопку и мне надо, чтобы выдало 100 импульсов, в обратном направлении, да ещё с другой частотой.
как я понял:
загружаем в R16 значение ячейки памяти, на которую указывает Z. После чего увеличиваем адрес ячейки (то есть, Z).
выводим в порт это значение
обнуляем два младших бита адреса ячейки. то есть, было, к примеру, 101, а стало 100.
получается, что мы каждый раз будем выводить в порт одно и то же значение?
P.S. Кстати, это 6 тактов, то есть 3,33 МHz.
Последний раз редактировалось Godzilla82; 23.08.2011 в 16:43.
|
|
|
|
23.08.2011, 16:35
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: Inline функции в CodeVision AVR
Ну если это самоцель... 
Здесь не вижу необходимости...
|
|
|
|
23.08.2011, 16:49
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
|
Re: Inline функции в CodeVision AVR
Сообщение от omercury
|
Ну если это самоцель... 
Здесь не вижу необходимости...
|
Вы о чём?
......
|
|
|
|
23.08.2011, 17:02
|
|
|
Прописка
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
|
Не надо упираться
Сообщение от Godzilla82
|
|
Кстати, это 6 тактов, то есть 3,33 МHz
|
Кстати да, У ВАС 6 тактов, а вот в посте 23 - 5 тактов.
(Замечу в скобках, я б на вашем месте квадратуры получал бы аппаратно (скажем от 1Гц до 10 МГц), а проц был бы на 100% свободен)
Последний раз редактировалось =GM=; 23.08.2011 в 17:10.
|
|
|
|
23.08.2011, 17:12
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
|
Re: Не надо упираться
Сообщение от =GM=
|
|
Кстати да, У ВАС 6 тактов, а вот в посте 23 - 5 тактов.
|
Наверное, надо ещё
|
PHP код:
|
ld r16, z+
out portd, r16
nop
|
добавить, ибо 4 состояния. ну да ладно.
надо 3333 импульса, допустим. сразу оговорюсь. под импульсами я имею ввиду события. то есть, вешать на счётный вход обе фазы. два счётчика надо... да и это не поможет...
P.S. Да это всё спортивный трёп. Зачем городить огород, когда можно получить на 1 микрухе всё и минимуме обвязки. Ещё раз акцентируюсь на том, что 400 кГц - более, чем достаточно.
P.P.S. А вот мозги поразмять - выкинуть пару троек тактов - это уже из другой оперы.
P..P.S Плата уже разведена и отправлена на изготовление.
Последний раз редактировалось Godzilla82; 23.08.2011 в 17:16.
|
|
|
|
23.08.2011, 17:22
|
|
|
Прописка
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
|
Вот полный код
|
Код:
|
loop: ld r16,z+
out portd,r16
and zl,0xF8
nop
ld r16,z+
out portd,r16
nop
nop
ld r16,z+
out portd,r16
nop
nop
ld r16,z+
out portd,r16
rjmp loop |
Последний раз редактировалось =GM=; 23.08.2011 в 17:25.
|
|
|
|
23.08.2011, 17:34
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
|
Re: Inline функции в CodeVision AVR
а 3 такта где?
|
|
|
|
23.08.2011, 18:14
|
|
|
Прописка
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
|
Re: Inline функции в CodeVision AVR
А зачем вам, это ж спортивный трёп
|
|
|
|
23.08.2011, 18:28
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
|
Re: Inline функции в CodeVision AVR
|
|
|
|
23.08.2011, 18:46
|
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
|
Re: Inline функции в CodeVision AVR
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Литература по микроконтроллерам (AVR, PIC, ПЛИС и т.д.). Сборка книг - (256 книг+ 27 CD c примерами из книг) [обновление 2011, PDF, DJVU]
|
yurinform |
Микроконтроллеры, АЦП, память и т.д |
5 |
05.07.2011 19:00 |
|
Codevision AVR + AVR Studio помогите разобраться с отладкой
|
Daget |
Микроконтроллеры, АЦП, память и т.д |
24 |
07.03.2011 14:41 |
|
CodeVision AVR 2.05.0 работа с битами портов
|
ajsn |
Микроконтроллеры, АЦП, память и т.д |
4 |
06.03.2011 23:15 |
|
mRTOS - кооперативная ОС для AVR. Порт CodeVision.
|
LVII |
Микроконтроллеры, АЦП, память и т.д |
5 |
29.11.2008 14:44 |
|
Как работать с AT89C5131 в CodeVision AVR?
|
lom771 |
Микроконтроллеры, АЦП, память и т.д |
2 |
29.08.2006 16:51 |
Часовой пояс GMT +4, время: 20:13.
|
|