Вт янв 17, 2012 10:10:42
BerZerK-ku писал(а):Ну при таком включении ничего и не будет ) Замените строчку в цикле на:
- Код:
if ( (PIND & 0x1F) != 0x1F )
PORTB = (1 << PORTB7);
else
PORTB = 0;
Вт янв 17, 2012 22:31:22
Вт янв 17, 2012 23:10:15
BerZerK-ku писал(а):Ну при таком включении ничего и не будет ) Замените строчку в цикле на:
- Код:
if ( (PIND & 0x1F) != 0x1F )
PORTB = (1 << PORTB7);
else
PORTB = 0;
while(1)
{
PORTB = ~PIND;
}
Ср янв 18, 2012 05:10:25
char ef = 0;
while(1)
{
if ( !(PIND & (1 << PIND4)) )
{
ef = !ef;
}
if (ef)
PORTB |= (1 << PORTB7);
else
PORTB ^= (1 << PORTB7);
_delay_ms(1000);
}
// Тактовая частота
#define CPU_CLK_Hz 16000000
// Задержка в мс
#define _delay_ms(x) __delay_cycles(x*(CPU_CLK_Hz/1000))
Ср янв 18, 2012 06:27:29
надо писать 16000000ULBerZerK-ku писал(а):
- Код:
// Тактовая частота
#define CPU_CLK_Hz 16000000
Ср янв 18, 2012 07:21:18
Ср янв 18, 2012 09:47:32
BerZerK-ku писал(а):Зачем? И так все работает
Ср янв 18, 2012 10:32:30
Ср янв 18, 2012 10:38:38
BerZerK-ku писал(а):При чем тут WinAVR? В WinAVR вообще нет подобной встроенной функции, да и ВО ВСЕХ КОМПИЛЯТОРАХ вряд-ли найдется. Так какой смысл думать о переносимости?
В отличие от ваших возвеличиваний, я не употреблял в свою сторону "великий" и вроде никогда не говорил как надо делать, а всего-лишь как можно делать
Ср янв 18, 2012 10:48:21
Ср янв 18, 2012 10:56:15
BerZerK-ku писал(а):А для тех кто в танке, если вы проследите все вышесказанное, то разговор шел именно о использовании IAR. И код был приведен именно для этой среды.
Ср янв 18, 2012 11:02:08
Ср янв 18, 2012 11:11:34
int main( void )
{
PORTB = 0xFF;
DDRB = 0xFF;
DDRD = 0x00;
PORTD = 0x00;
char ef = 0;
while(1)
{
if ( !(PIND & (1 << PIND4)) )
{
ef++;
if (ef > 2) ef = 0;
}
if (ef==2)
{
PORTB = 0;
delay(200);
PORTB = 1;
delay(200);
}
if (ef==1)
PORTB = 1;
if (ef==0)
PORTB = 0;
}
return 0;
}
Ср янв 18, 2012 11:18:45
Ср янв 18, 2012 11:24:11
BerZerK-ku писал(а):Может еще подскажите в какой из библиотек?
Ср янв 18, 2012 11:28:03
как минимум потому, что вы не читали, как надо опрашивать кнопку - а я для вас подробно все описывал. категорически недопустимо работать с кнопкаи, опрашивая 1 раз пин порта! сколько раз еще надо повторить?!AR_AROV писал(а):почему вот такой код не работает?
Ср янв 18, 2012 11:29:45
Мастер Ломастер писал(а):как минимум потому, что вы не читали, как надо опрашивать кнопку - а я для вас подробно все описывал. категорически недопустимо работать с кнопкаи, опрашивая 1 раз пин порта! сколько раз еще надо повторить?!AR_AROV писал(а):почему вот такой код не работает?
Ср янв 18, 2012 11:33:11
Ср янв 18, 2012 11:36:46
категорически недопустимо работать с кнопкаи, опрашивая 1 раз пин порта!
Ср янв 18, 2012 11:39:21
ploop писал(а):категорически недопустимо работать с кнопкаи, опрашивая 1 раз пин порта!
Вполне допустимо, чтобы понять, как это работает.