Страница 1 из 1

Atmega16. работает в протеусе, не работает в железе

Добавлено: Пт май 03, 2013 17:18:37
Ромыч
Собрал проект в АВР студио5. В протезе все работает, заливаю в железо - фиг. Начал новый проект, который только и делает что зажигает диод. Диод горит очень тускло, напряжение на нем 1,3В. Собираю такой же проект в CVAVR - все работает. Напряжение на ноге как и полагается около 5 вольт. Питаю +5В. Оптимизация везде отключена. В чем проблема может быть?

Re: Atmega16. работает в протеусе, не работает в железе

Добавлено: Пт май 03, 2013 17:32:53
Сериг
Ну вы бы хотя бы Исходники выложили,дело быстрее пойдет...

Re: Atmega16. работает в протеусе, не работает в железе

Добавлено: Пт май 03, 2013 17:39:10
Ромыч
прошу прощения. как всегда поспешил.... порты не сконфигурированы были. хотя студии раньше это никогда не мешало...
___
опять таки погорячился... не тот проект заливал, проблема сохранилась :( прилагаю исходник

Код: Выделить всё

/*
 * forTest.c
 *
 * Created: 03.05.2013 19:54:05
 *  Author: Admin
 */ 


#include <avr/io.h>
#include <util/delay.h>


//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
////	Обличаем ноги подсветки


#define LED PB4
#define LED_ON PORTB|=(1<<LED);
#define LED_OFF PORTB&=~(1<<LED);

int main(void)
{
	
DDRB=(1<<LED);
	
PORTB=(0<<LED);



	
    while(1)
    {
		LED_ON;
		_delay_ms(1000);
		LED_OFF;
		_delay_ms(1000);

    }
}

Re: Atmega16. работает в протеусе, не работает в железе

Добавлено: Сб май 04, 2013 19:46:28
YS
В протезе все работает, заливаю в железо - фиг.
Где схема?
Оптимизация везде отключена.
Функции __delay_xx без оптимизации не работают как надо. И это написано в документации. Только кто же ее читает... :)))

Код: Выделить всё

PORTB=(0<<LED);
- ну бессмысленный же код. :)

Re: Atmega16. работает в протеусе, не работает в железе

Добавлено: Сб май 04, 2013 20:43:50
Ромыч
да чего там схема то.. питание и диод. ну резюк еще на ресете висит.
а про

Код: Выделить всё

PORTB=(0<<LED);
ну я так привык))) иногда бывает нужда при старте и единицу давать на ногу:))

перевесил на порт С. Оказывается надо было JTAG отключать... раньше с тиньками и мегами8 работал, где их не было :)) но хотя бы работает. Может и брак МК попался. Спасибо всем :)