реклама на сайте
подробности

 
 
> Проблема с функцией delay, Помогите разобраться с глюком.
GSK
сообщение May 13 2008, 06:46
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 1-03-06
Пользователь №: 14 835



Всем привет.

У меня следующая проблема:

Контроллет 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 микросекунд.

В чем проблема?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 02:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.02525 секунд с 7
ELECTRONIX ©2004-2016