Всем привет.
У меня следующая проблема:
Контроллет ATmega128. Установки заводские. CKSEL=0001 SUT=10 К ножке 7 порта B и шине питания подключен светодиод. Конструкция питаеться от 3,3 В.
В CodeVision в опциях выставлен кристал 1.000 МГц
#include <mega128.h> #include <delay.h>
void main(void){ PORTB=0x80; DDRB=0x80;
PORTB.7=0; delay_us(10000); // delay_us(10000); //<-------------------- Вот проблема !!!! // delay_us(10000); // delay_us(10000); PORTB.7=1; }
При включени питания светодиод загораеться и гаснет. Вроде всё как должно быть. Затем я убираю коментарий со строки delay_us(10000); и задержка увеличиваеться в двое. Диод также при включении мигает, но заметно дольше. Если же я убираю коментарий с третьей строки, то диод при подаче питания зажигаеться и больше не гаснет. Т.е. контроллер зависает. delay_ms(10); - задержка в милисикунды также вешает контроллер.
Пробовал на BascomAVR
$regfile = "m128def.dat" $crystal = 1000000 $baud = 19200 $baud1 = 19200 $hwstack = 32 $swstack = 10 $framesize = 40
Ddrb = &HFF Portb = 0 Waitus 10 Portb = 255
End
Работает до тех пор пока задержка меньше 15 микросекунд.
В чем проблема?
|