Jump to content
-=gga=-

Atmega128L Самопроизвольно Перезагружается

Recommended Posts

С наступающим!

Возникла тут одна проблемка. Собрал плату на МК ATmega128L. Питание от ЮСБ. Кварц на 7.3728 мГц.

Программатор AVR910. Пишу на С. Ножка Ресет подключена резистором в 10кОм к плюсу и к минусу через конденсатор 0.1мкФ.

Суть проблемы заключается в том, что МК самопроизвольно рестартирует.

Программу сгенерировал генератором начального кода CodeVisionAVR.

Строчки

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=1 State2=T State1=T State0=T

PORTC=0x08;

DDRC=0x08;

делают PortC.3 Выходом и устанавливают на нём 1.

Строчки

delay_ms(1000);

PORTC.3=0;

Устанавливают на выводе PortC.3 лог. 0 через одну секунду.

В протеусе работает, но в реале у меня светодиод постоянно горит.

Вот скриншот фьюзов.

post-17647-0-97169500-1293476566_thumb.jpg

Вот листинг программы

/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Evaluation
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date    : 12/27/2010
Author  : Freeware, for evaluation and non-commercial use only
Company :
Comments:


Chip type               : ATmega128L
Program type            : Application
AVR Core Clock frequency: 7.372800 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 1024
*****************************************************/

#include <mega128.h>
#include <delay.h>
// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=1 State2=T State1=T State0=T
PORTC=0x08;
DDRC=0x08;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Port E initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTE=0x00;
DDRE=0x00;

// Port F initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTF=0x00;
DDRF=0x00;

// Port G initialization
// Func4=In Func3=In Func2=In Func1=In Func0=In
// State4=T State3=T State2=T State1=T State0=T
PORTG=0x00;
DDRG=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
ASSR=0x00;
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// OC1C output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
// Compare C Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
OCR1CH=0x00;
OCR1CL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// Timer/Counter 3 initialization
// Clock source: System Clock
// Clock value: Timer3 Stopped
// Mode: Normal top=0xFFFF
// OC3A output: Discon.
// OC3B output: Discon.
// OC3C output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer3 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
// Compare C Match Interrupt: Off
TCCR3A=0x00;
TCCR3B=0x00;
TCNT3H=0x00;
TCNT3L=0x00;
ICR3H=0x00;
ICR3L=0x00;
OCR3AH=0x00;
OCR3AL=0x00;
OCR3BH=0x00;
OCR3BL=0x00;
OCR3CH=0x00;
OCR3CL=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
// INT3: Off
// INT4: Off
// INT5: Off
// INT6: Off
// INT7: Off
EICRA=0x00;
EICRB=0x00;
EIMSK=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

ETIMSK=0x00;

// USART0 initialization
// USART0 disabled
UCSR0B=0x00;

// USART1 initialization
// USART1 disabled
UCSR1B=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// ADC initialization
// ADC disabled
ADCSRA=0x00;

// SPI initialization
// SPI disabled
SPCR=0x00;

// TWI initialization
// TWI disabled
TWCR=0x00;

delay_ms(1000);
PORTC.3=0;
while (1)
     {

     }
}


Я был механик, я есть механик, я буду механик

Share this post


Link to post
Share on other sites

Наверняка у тебя включен фьюз (М103) совместимости с Atmega103. По умолчанию эта совместимость установлена. Отключи и будет тебе счастье.


Пока ты жив, надежда есть.

Share this post


Link to post
Share on other sites

небось светик подключен к +?

а так же:

Port C also serves the functions of special features of the ATmega128 as listed on page 77. In

ATmega103 compatibility mode, Port C is output only, and the port C pins are not tri-stated

when a reset condition becomes active.

Note: The ATmega128 is by default shipped in ATmega103 compatibility mode. Thus, if the parts are not

programmed before they are put on the PCB, PORTC will be output during first power up, and until

the ATmega103 compatibility mode is disabled

In ATmega103 compatibility mode, Port C is output only. The ATmega128 is by default shipped

in compatibility mode. Thus, if the parts are not programmed before they are put on the PCB,

PORTC will be output during first power up, and until the ATmega103 compatibility mode is disabled. The Port C has an alternate function as the address high byte for the External Memory

Interface.

взято из даташита

Edited by l-e-o-n-a-r-d-o

чем шире кругозор, тем тупее угол обозрения

Share this post


Link to post
Share on other sites

Вебинар «Новинки и решения Traco для промышленных и отраслевых приложений» (28.10.2021)

Компэл 28 октября приглашает всех желающих принять участие в вебинаре, где будет рассмотрена новая и перспективная продукция компании Traco. Мы подробно рассмотрим сильные стороны и преимущества продукции Traco, а также коснемся практических вопросов, связанных с измерением уровня шумов, промывкой изделий после пайки и отдельно разберем, как отличить поддельный ИП Traco от оригинала.
Подробнее

Вебинар «Новинки и решения Traco для промышленных и отраслевых приложений» (28.10.2021)

Компэл 28 октября приглашает всех желающих принять участие в вебинаре, где будет рассмотрена новая и перспективная продукция компании Traco. Мы подробно рассмотрим сильные стороны и преимущества продукции Traco, а также коснемся практических вопросов, связанных с измерением уровня шумов, промывкой изделий после пайки и отдельно разберем, как отличить поддельный ИП Traco от оригинала.

Подробнее

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Здравствуйте! Предложение еще актуально? Интересуют К155ИЕ5.
    • Так ить своего образования, чтобы сообразить, мало у кого хватает, и винить их за это нельзя. Вот этому доверяют: А это уже совсем другой вопрос, кто и где должен перевестись...
    • Любой оригинал, а вот что уж там китайцы пришлют...
    • Понятно) гдет выложил. 
    • Нет. У прямосвязных - оно нет)) Нет. Это местные ОСи. Суммировать их неполезно. Нет. Оно же Местная. С выхода УМ, на ОУ идёт только серво по постоянке. В звуковом диапазоне работает лишь ООС транзисторной части а её глубина сильно перераспределяется на уменьшение глубины от частоты. Почему то на это обстоятельство мало обращают внимание. Хотя про то что на высоких частотах транзисторная часть ведёт себя как интегратор, знают многие... а как меняется при этом ОС, опускают почему-то. Т. е. в Квод вывозит все параметры в полосе мощности совсем НЕ благодаря ООС. А наоборот. Разобрал и Сухова, продал Агеевский не говоря о более древних девайсах) Это субьективное отношение к тем "модным" веяниям, которые все пророчили "высокий конец". Их кстати и на полках нет магазов и на Али негусто) Почему то оно всё так само получилось, непонимаю)) Хотя для идиотов, подобные "холтоны" и "лонзары" упакованные и за немалую денюшку по прежнему впаривают аудиофилом)) Даже с позолоченными радиками))) Я его не делал и не хочу. Как всякий компромисс, он мне не нравится) А у глубокоосников есть неустранимая, принципиальная ошибка. Они ВСЕ плодят жёсткие динамические и интермоды на сложном сигнале и комплексной нагрузке просто в силу ограничений топологии. Подробней - долго, но у Квода такого ограничения нет. Кроме того, у Квода вход принципиально изолирован от нагрузки и её грязи которая у ООСников в петле. кратко)) Отчего же и нет? ) \ласково смотрет\
    • Я правильно понял, можно ставить любой BNT01, а цифры 164713 пофигу ?

  • Угловые разъемы питания

×
×
  • Create New...