roboforum.ruТехнический форум по робототехнике. |
|
|
|
Реклама | ||||
|
|
|||
if (PINC.0 == 0)
{
PORTD.0 = 1;
}
else
{
PORTD.0 = 0;
}
Romikgy писал(а):
- Код: Выделить всё • Развернуть
if (PINC.0 == 0)
{
PORTD.0 = 1;
}
else
{
PORTD.0 = 0;
}
так не ?
Реклама | ||||
|
|
|||
#include <ioavr.h>
#include <intrinsics.h>
#include <iom8.h>
int main( void )
{
PORTC=(0<<PC0);
DDRD=255;
TCCR1B=(0<<ICNC1)|(0<<ICES1)|(0<<WGM13)|(0<<WGM12)|(1<<CS12)|(0<<CS11)|(1<<CS10);
TCNT1H=0xF0;
TCNT1L=0x6F; //значение 61551
//TIMSK=0x04;
TIMSK=(1<<TICIE1);
__enable_interrupt();
while(1)
{
PORTD = (1<<1);
}
}
#pragma vector = TIMER1_OVF_vect
__interrupt void flashing(void)
{
//if ((PINC & (1 << PC0)) == 1)
//{
PORTD = (1<<PD0);
//}
}
TCCR1B=(0<<ICNC1)|(0<<ICES1)|(0<<WGM13)|(0<<WGM12)|(1<<CS12)|(0<<CS11)|(1<<CS10);
rig писал(а):так что там получится после такой команды непонятно
- Код: Выделить всё • Развернуть
TCCR1B=(0<<ICNC1)|(0<<ICES1)|(0<<WGM13)|(0<<WGM12)|(1<<CS12)|(0<<CS11)|(1<<CS10);
TCCR1B=(0<<ICNC1)|(0<<ICES1)|(0<<WGM13)|(0<<WGM12)|(1<<CS12)|(0<<CS11)|(1<<CS10);
делал так:
~(1<<CS11)
на выходе в разряде CS11 будет нолик а все остальные единички.
но нолик прилеплять надо через & лог умножение
Lockdog писал(а):Я хочу чтобы таймер через каждые 0,5 сек вызывал прерывание и в нём проверял состояние ножки и если оно = 1, то выполнять какю-либо команду
Вернуться в Новичкам или основы основ роботостроения.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17