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

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

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

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

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

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

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

 
Опции темы
Непрочитано 23.01.2012, 11:18  
Andry_MA
Временная регистрация
 
Регистрация: 18.11.2011
Сообщений: 98
Сказал спасибо: 1
Сказали Спасибо 11 раз(а) в 6 сообщении(ях)
Andry_MA на пути к лучшему
По умолчанию Битовые операции с регистром общего назначения

Задача такая.
В CodeVisionAVR задаём какую-либо переменную.
При компиляции эта переменная пишется допустим в регистр общего назначения R4.
Возможно-ли из этого регистра прочитать не все 8 бит, а побитово?
Так-же как в портах ввода/вывода: PINA - считать все 8 бит, PINA.0 - считать бит 0, PINA.1 - считать бит 1 и т.д.
Реклама:
Andry_MA вне форума  
Сказали "Спасибо" Andry_MA
warel (28.06.2019)
Непрочитано 23.01.2012, 12:41  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Битовые операции с регистром общего назначения

Сообщение от Andry_MA Посмотреть сообщение
Задача такая.
В CodeVisionAVR задаём какую-либо переменную.
При компиляции эта переменная пишется допустим в регистр общего назначения R4.
Возможно-ли из этого регистра прочитать не все 8 бит, а побитово?
Так-же как в портах ввода/вывода: PINA - считать все 8 бит, PINA.0 - считать бит 0, PINA.1 - считать бит 1 и т.д.
Вы систему клманд МК просматривали? Рекомендую, их не так уж много.
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Сказали "Спасибо" ut1wpr
warel (28.06.2019)
Непрочитано 23.01.2012, 13:30  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Битовые операции с регистром общего назначения

Сообщение от Andry_MA Посмотреть сообщение
PINA.0 - считать бит 0, PINA.1 - считать бит 1 и т.д.
Это НЕ СЧИТЫВАНИЕ БИТА - ЭТО ПРОВЕРКА БИТА... нельзя одной командой прочитать 1 бит из регистров ввода вывода в рабочий регистры, можно только ПРОВЕРИТЬ СОСТОЯНИЕ БИТА, и то не во всех, а ниже 3F (ИМХО).
Сообщение от ut1wpr Посмотреть сообщение
Рекомендую.
Рекомендуется вообще начинать с чтения даташитов ))) а не с форума ))) народ ленивый ))
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
picavr вне форума  
Сказали "Спасибо" picavr
warel (28.06.2019)
Непрочитано 23.01.2012, 15:04  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Битовые операции с регистром общего назначения

Сообщение от Andry_MA Посмотреть сообщение
При компиляции эта переменная пишется допустим в регистр общего назначения R4.
Даташиты, система команд.......
Также настоятельно рекомендуется полистать доки на CV...
...переменная запишется в ОЗУ если не указать явно регистр...

А вы говорите ЯВУ.
Вот так и рождаются легенды, что одной командой можно прочитать бит...

Последний раз редактировалось omercury; 23.01.2012 в 15:08.
omercury вне форума  
Сказали "Спасибо" omercury
warel (28.06.2019)
Непрочитано 23.01.2012, 15:08  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Битовые операции с регистром общего назначения

Сообщение от Andry_MA Посмотреть сообщение
Возможно-ли из этого регистра прочитать не все 8 бит, а побитово?
Возможно, одной командой.
Вопрос, что Вы с этим дальше будете делать?
alvadep вне форума  
Сказали "Спасибо" alvadep
warel (28.06.2019)
Непрочитано 23.01.2012, 15:11  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Битовые операции с регистром общего назначения

Сообщение от alvadep Посмотреть сообщение
Возможно, одной командой.
...если...
- переменная чудом окажется в регистре
- нужный бит окажется самым старшим или самым младшим
- если читать бит во флаг Т
...

upd.
Сообщение от alvadep Посмотреть сообщение
Вопрос, что Вы с этим дальше будете делать?
Точно. А нужно ли его вообще читать?

Последний раз редактировалось omercury; 23.01.2012 в 15:21.
omercury вне форума  
Сказали "Спасибо" omercury
warel (28.06.2019)
Непрочитано 23.01.2012, 17:36  
tanq
Гражданин KAZUS.RU
 
Регистрация: 12.10.2009
Сообщений: 576
Сказал спасибо: 30
Сказали Спасибо 138 раз(а) в 110 сообщении(ях)
tanq на пути к лучшему
По умолчанию Re: Битовые операции с регистром общего назначения

Andry_MA, переменную можно просто проверять по битовой маске, например:
if (var & (1‹‹n)) { }, если надо просто считать бит, тогда bit = var & (1‹‹n) ? 1 : 0; либо bit = (var››n)&1 ;
Последний вариант лучше работает когда n является переменной и на этапе компиляции не известна.
tanq вне форума  
Сказали "Спасибо" tanq
warel (28.06.2019)
Непрочитано 24.01.2012, 08:19  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Битовые операции с регистром общего назначения

Сообщение от Andry_MA Посмотреть сообщение
При компиляции эта переменная пишется допустим в регистр общего назначения R4.
Возможно-ли из этого регистра прочитать не все 8 бит, а побитово?
Только не R4, а R16...R31
niXto вне форума  
Сказали "Спасибо" niXto
warel (28.06.2019)
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Арифметические операции yellow87 Микроконтроллеры, АЦП, память и т.д 9 08.11.2010 13:00
работа с регистром переноса AVR ELayer Цифровые сигнальные процессоры 1 14.11.2008 23:31
Нужна схема БП на +9 и +12в относительно общего минуса iorg Поиск схем. Делимся схемами 5 17.10.2008 20:06
Битовые функции в CodeVision Andrewg Микроконтроллеры, АЦП, память и т.д 3 03.08.2007 12:19
ТОгда чем отличается земля от 'общего'? surgutw Источники питания и свет 16 31.08.2005 18:57


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot