roboforum.ru

Технический форум по робототехнике.

о битах и регистрах

о битах и регистрах

statistic » 03 июн 2008, 13:13

блин объясните пожалуста как обратится к конкретному биту конкретного регистра.точнее сравнить бит TOV0 регистра TIFR с нулём или еденицой в CVAVR.как записать туда понял TIFR |= 1<<0 а как прoчитать не пойму.HELP

Си для МК - http://avr123.nm.ru/05.htm < avr123 >

Re: о битах и регистрах

Victorovych » 03 июн 2008, 13:42

Код: Выделить всёРазвернуть
   in r16,tifr
   andi r16,$FE
   breq <туда куда надо>

Re: о битах и регистрах

EdGull » 03 июн 2008, 13:47

а в васике было бы так
Код: Выделить всёРазвернуть
if TIFR.TOV0 = 0 then

Re: о битах и регистрах

Master » 03 июн 2008, 16:47

Ну а в CVavr
Код: Выделить всёРазвернуть
if (TIFR.номер бита==0) {выполняем действие;}


Могу ошибаться. Нада пробывать.

Re: о битах и регистрах

statistic » 03 июн 2008, 17:21

to master
эта форма записи для регистров с адресом до $31,а у tifr адрес $38

Re: о битах и регистрах

avr123.nm.ru » 03 июн 2008, 18:10

statistic писал(а): как записать туда понял TIFR |= 1<<0 а как прoчитать не пойму.


Там где нужно значение бита впишите
Код: Выделить всёРазвернуть
 (TIFR  & (1 << НомерБита ) 

а толкование на http://avr123.nm.ru/05.htm

Если скачать мой заголовок m8_128.h (на http://avr123.nm.ru) то и в CVAVR
можно будет писать так как в примерах в даташите :
Код: Выделить всёРазвернуть
 (TIFR  & (1 << Название Бита ) 

Re: о битах и регистрах

statistic » 03 июн 2008, 18:31

to avr123.nm.ru
тоесть если я правильно понял условие будет выглядеть так
if((TIFR & (1 << 0 )==0){действие;}
так?

Re: о битах и регистрах

avr123.nm.ru » 03 июн 2008, 19:08

statistic писал(а):to avr123.nm.ru
тоесть если я правильно понял условие будет выглядеть так
if((TIFR & (1 << 0 )==0){действие;}
так?


Можно и так. Действие будет выполняться если бит равен "0". А можно вот так:

Код: Выделить всёРазвернуть
if ( ! (TIFR  & (1 << 0 ))) {  действие ; }

Re: о битах и регистрах

statistic » 03 июн 2008, 20:25

ага,зараббботало.спасибо.

Re: о битах и регистрах

Vooon » 03 июн 2008, 21:24

еще можно (не скажу где) использовать маркосы
bit_is_set(TIFR, TOV0)
bit_is_clear(TIFR, TOV0)

Re: о битах и регистрах

avr123.nm.ru » 03 июн 2008, 22:57

statistic писал(а):ага, зараббботало. спасибо.

Куда ж оно денется ! Робофорумом ведь навалились на битик несчастный :good:

Re: о битах и регистрах

statistic » 04 июн 2008, 10:59

Нда нехорошо получилось.прости TOV0. :sorry:


Rambler\'s Top100 Mail.ru counter