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

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

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

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

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

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

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

 
Опции темы

Косвенная адресация

Непрочитано 28.06.2010, 19:21  
yellow87
Вид на жительство
 
Аватар для yellow87
 
Регистрация: 29.04.2007
Адрес: Иркутск
Сообщений: 311
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
yellow87 на пути к лучшему
По умолчанию Косвенная адресация

Подскажите как правильно реализовать косвенную адресацию.
На асме давно-давно делал, а на Си незнаю как.
Код:
#bit   LED0 = 5.0
#bit   LED1 = 5.1

void Blink(int LEDx)
{
// мигаем указанным пином с нужной частотой и временем
}

void Main(void)
{
while(1)
  {
  Blink(0);
  Blink(1);
  }
}
Реклама:
yellow87 вне форума  
Непрочитано 28.06.2010, 20:36  
CERGEI1982
Почётный гражданин KAZUS.RUN
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию Re: косвенная адресация

А зачем тут косвенная адресация на Си?
__________________
Глаза боятся,а руки делают.
CERGEI1982 вне форума  
Непрочитано 28.06.2010, 20:43  
OlegNZH
Почётный гражданин KAZUS.RUN
 
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: косвенная адресация

да в Blink вставить case и все дела
OlegNZH вне форума  
Непрочитано 28.06.2010, 20:43  
bonchuk_p
Прохожий
 
Регистрация: 15.07.2009
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
bonchuk_p на пути к лучшему
По умолчанию Re: косвенная адресация

Тоже не задумывался о ее необходимости на Си, все напрямую пишу.
Можно пример, чтобы без нее не обойтись было?
__________________
Лучше сказать "не пробовал" и попытаться, чем "не могу" и огорчаться...
bonchuk_p вне форума  
Непрочитано 28.06.2010, 20:51  
Vetal-soft
Временная регистрация
 
Регистрация: 04.08.2006
Сообщений: 67
Сказал спасибо: 2
Сказали Спасибо 20 раз(а) в 11 сообщении(ях)
Vetal-soft на пути к лучшему
По умолчанию Re: косвенная адресация

Человеку надо светодиодом помигать (вернее двумя по очереди) на Си, а "косвенная адресация" - это часть мысли из Ассемблера.
з.ы. не знал и забыл
Vetal-soft вне форума  
Непрочитано 28.06.2010, 21:19  
OlegNZH
Почётный гражданин KAZUS.RUN
 
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: косвенная адресация

Сообщение от bonchuk_p Посмотреть сообщение
Тоже не задумывался о ее необходимости на Си, все напрямую пишу.
Можно пример, чтобы без нее не обойтись было?
Ну почему-же. В AT89 битовая адресация портов была.Там могло-бы пригодиться.
OlegNZH вне форума  
Непрочитано 28.06.2010, 21:33  
bonchuk_p
Прохожий
 
Регистрация: 15.07.2009
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
bonchuk_p на пути к лучшему
По умолчанию Re: косвенная адресация

Тогда CASE, самое удобно, однако, так как время = 1/частота, то реализовать можно через delay(), что тоже самое простое, на мой взгляд.

› Ну почему-же. В AT89 битовая адресация портов была.Там могло-бы пригодиться.

Спасибо, но я не застал, может оно так, но разве не было возможности обойти эту кос.адресацию? Скорее всего на Си была, правда не знаю поддерживают ли AT89 Си компиляторы, WinAVR-20100110 не поддерживает.
__________________
Лучше сказать "не пробовал" и попытаться, чем "не могу" и огорчаться...
bonchuk_p вне форума  
Непрочитано 28.06.2010, 22:36  
urry
Почётный гражданин KAZUS.RUN
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 107 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию Re: косвенная адресация

????
Любой компилятор, в котором есть регистры косвенной адресации, всегда использует их при работе с указателями. Винавр - не исключение
Код:
count1_snd=32;
ukaz=&arrr[0];
 do{
*ukaz++=5;
}while(--count1_snd);
Код:
count1_snd=32;
 3f2:   80 e2          ldi   r24, 0x20   ; 32
 3f4:   80 93 00 01    sts   0x0100, r24
ukaz=&arrr[0];
 3f8:   85 e0          ldi   r24, 0x05   ; 5
 3fa:   91 e0          ldi   r25, 0x01   ; 1
 3fc:   90 93 2c 01    sts   0x012C, r25
 400:   80 93 2b 01    sts   0x012B, r24
 do{
*ukaz++=5;
 404:   95 e0          ldi   r25, 0x05   ; 5
 406:   e0 91 2b 01    lds   r30, 0x012B
 40a:   f0 91 2c 01    lds   r31, 0x012C
 40e:   91 93          st   Z+, r25
 410:   f0 93 2c 01    sts   0x012C, r31
 414:   e0 93 2b 01    sts   0x012B, r30
}while(--count1_snd);
 418:   80 91 00 01    lds   r24, 0x0100
 41c:   81 50          subi   r24, 0x01   ; 1
 41e:   80 93 00 01    sts   0x0100, r24
 422:   88 23          and   r24, r24
 424:   81 f7          brne   .-32        ; 0x406 ‹main+0xc2›
__________________
warez
urry вне форума  
Непрочитано 28.06.2010, 23:21  
OlegNZH
Почётный гражданин KAZUS.RUN
 
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: косвенная адресация

Конечно! Но в данном случае топикстартер задал вопрос о косвенном обращении к БИТАМ в портах.
OlegNZH вне форума  
Непрочитано 29.06.2010, 00:03  
SasaVitebsk
Гражданин KAZUS.RUN
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: косвенная адресация

Сообщение от urry Посмотреть сообщение
????
Любой компилятор, в котором есть регистры косвенной адресации, всегда использует их при работе с указателями. Винавр - не исключение
Работа через указатели - и есть, косвенная адресация.

Хотя при работе с языками высокого уровня, такого понятия, как виды адресации уже нет. Есть языковые средства.
SasaVitebsk вне форума  
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Косвенная адресация данных в PIC16F690 sasha_popov Микроконтроллеры, АЦП, память и т.д 15 03.03.2010 17:14


Часовой пояс GMT +4, время: 10:56.


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