Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Inline функции в CodeVision AVR

Непрочитано 23.08.2011, 16:34  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение 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.
Godzilla82 вне форума  
Непрочитано 23.08.2011, 16:35  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Inline функции в CodeVision AVR

Ну если это самоцель...
Здесь не вижу необходимости...
omercury вне форума  
Непрочитано 23.08.2011, 16:49  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Inline функции в CodeVision AVR

Сообщение от omercury Посмотреть сообщение
Ну если это самоцель...
Здесь не вижу необходимости...
Вы о чём?
......
Godzilla82 вне форума  
Непрочитано 23.08.2011, 17:02  
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию Не надо упираться

Сообщение от Godzilla82 Посмотреть сообщение
Кстати, это 6 тактов, то есть 3,33 МHz
Кстати да, У ВАС 6 тактов, а вот в посте 23 - 5 тактов.

(Замечу в скобках, я б на вашем месте квадратуры получал бы аппаратно (скажем от 1Гц до 10 МГц), а проц был бы на 100% свободен)

Последний раз редактировалось =GM=; 23.08.2011 в 17:10.
=GM= вне форума  
Непрочитано 23.08.2011, 17:12  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение 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.
Godzilla82 вне форума  
Непрочитано 23.08.2011, 17:22  
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию

Вот полный код
Код:
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.
=GM= вне форума  
Непрочитано 23.08.2011, 17:34  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Inline функции в CodeVision AVR

а 3 такта где?
Godzilla82 вне форума  
Непрочитано 23.08.2011, 18:14  
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию Re: Inline функции в CodeVision AVR

А зачем вам, это ж спортивный трёп
=GM= вне форума  
Непрочитано 23.08.2011, 18:28  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Inline функции в CodeVision AVR

Сообщение от =GM= Посмотреть сообщение
А зачем вам, это ж спортивный трёп
Именно из-за спортивного любопытства
Godzilla82 вне форума  
Непрочитано 23.08.2011, 18:46  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Inline функции в CodeVision AVR

Сообщение от Godzilla82 Посмотреть сообщение
а 3 такта где?
Сняли за неспортивное поведение...
st_1 вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
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.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.