Технический форум по робототехнике.
statistic » 03 июн 2008, 13:13
блин объясните пожалуста как обратится к конкретному биту конкретного регистра.точнее сравнить бит TOV0 регистра TIFR с нулём или еденицой в CVAVR.как записать туда понял TIFR |= 1<<0 а как прoчитать не пойму.HELP
Си для МК -
http://avr123.nm.ru/05.htm < avr123 >
Victorovych » 03 июн 2008, 13:42
Код: Выделить всё • Развернуть in r16,tifr andi r16,$FE breq <туда куда надо>
EdGull » 03 июн 2008, 13:47
а в васике было бы так
Код: Выделить всё • Развернуть if TIFR.TOV0 = 0 then
Master » 03 июн 2008, 16:47
Ну а в CVavr
Код: Выделить всё • Развернуть if (TIFR.номер бита==0) {выполняем действие;}
Могу ошибаться. Нада пробывать.
statistic » 03 июн 2008, 17:21
to master эта форма записи для регистров с адресом до $31,а у tifr адрес $38
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 << Название Бита )
statistic » 03 июн 2008, 18:31
to avr123.nm.ru тоесть если я правильно понял условие будет выглядеть так if((TIFR & (1 << 0 )==0){действие;} так?
avr123.nm.ru » 03 июн 2008, 19:08
statistic писал(а): to avr123.nm.ru тоесть если я правильно понял условие будет выглядеть так if((TIFR & (1 << 0 )==0){действие;} так?
Можно и так. Действие будет выполняться если бит равен "0". А можно вот так:
Код: Выделить всё • Развернуть if ( ! (TIFR & (1 << 0 ))) { действие ; }
statistic » 03 июн 2008, 20:25
ага,зараббботало.спасибо.
Vooon » 03 июн 2008, 21:24
еще можно (не скажу где) использовать маркосыbit_is_set(TIFR, TOV0) bit_is_clear(TIFR, TOV0)
avr123.nm.ru » 03 июн 2008, 22:57
statistic писал(а): ага, зараббботало. спасибо.
Куда ж оно денется ! Робофорумом ведь навалились на битик несчастный
statistic » 04 июн 2008, 10:59
Нда нехорошо получилось.прости TOV0.