HELP ME?!
Есть Atmega 128 и программатор (без внешнего резонатора). Среда разработки CVAVR.
Не могу ни как заставить диод мигнуть два раза с интервалом в 2сек. Перебрал уже кучу решений, все-равно толку 0. Есть два варианта кода, которые должны ЯВНО работать корректно, но нет.
Вариант 1.
#include <mega128.h>
#include <delay.h>
void main(void)
{
PORTA=0x00;
DDRA=0xF0;
PORTA.2 = 1;
PORTA.7 = 1;
PORTA.6 = 1;
while (1)
{
//PORTA.2 = 0;
if(PINA.2 == 0)
{
PORTA.7 = 0;
delay_ms(2000);
if(PINA.7 == 1)
{
PORTA.6 = 0;
delay_ms(2000);
if(PINA.6 == 1)
{
PORTA.7 = 0;
delay_ms(2000);
}
}
}
}
}
Вариант 2.
#include <mega128.h>
#include <io.h>
#include <m8_128.h>
void main(void)
{
unsigned int pause = 0;
PORTA=0xFF;
DDRA |= PA6;
DDRA |= PA7;
ACSR=0x80;
SFIOR=0x00;
while (1)
{
PORTA |= PA6;
PORTA &=~PA7;
while(++pause < 1500);
PORTA &=~PA6;
PORTA |= PA7;
while(--pause >0);
}
}