Atmel ATMEGA168

Miroslav Šinko sinkomiro na gmail.com
Úterý Listopad 4 14:30:22 CET 2014


Ako viete, ze je procesor resetovany, len na zaklade nespravneho
blikania LED? Co mate zapojene na vstupnom pine portb.0, na zaklade
ktoreho ovladate LED? Nebude problem v riadku PORTB != 0x01; ? Nemate
tam |, ale !, t.j. nezapnete si pull-up. Ak pin nemate zvonku tahany
do oboch polarit, nacitana hodnota moze lietat, alebo vplyvom kapacity
zotrvavat v  polarite, ktora bola ako posledna vnutena zvonku.
Zdroj resetu mozte skontrolovat vycitanim registra MCUCSR. Dajte si na
zaciatku programu podmienku, ze ak je nastaveny bit WDRF, rozsvietite
si druhu LED na inom pine.

miro

Dňa 4. novembra 2014 10:23, Zuffa Jan <ZuffaJ na cgc.sk> napísal/a:
> Zdravim vsetkych,
>
> Mam tu taky drobny problem.
> Urobil som si jednoduchy programcek na blikanie led
> Problem je ze mi WD stale resetuje procesor. Vo Fuses
> je WDTON vypnute. Ked volam v cykle wdt_reset() kazdu ms
> tak program nejak funguje. Na zaciatku som skusil aj wdt_disable();
> ale to nepomaha. Pouzivam AVR Studio a winavr gcc
> Nejake napady?
>
> Cely kod programu:
>
>
> #include <avr/io.h>
> #include <avr/interrupt.h>
> #include <avr/pgmspace.h>
> #include <util/delay.h>
> #include <util/delay_basic.h>
> #include <avr/wdt.h>
>
>
> int main( void )
> {
>
>         wdt_disable();
>
>         DDRD  |= 0x10;
>         DDRB  &= 0xfe;
>         PORTB != 0x01;
>
>         while(1)
>         {
>
>                 if((PINB & 1) == 0)
>                 {
>                         PORTD &= 0xef;
>                         for(int j = 0; j < 500; j++)
>                         {
>                                 wdt_reset();
>                                 _delay_ms(1);
>                         };
>                 }
>                 else
>                 {
>                         PORTD |= 0x10;
>                         for(int j = 0; j < 500; j++)
>                         {
>                                 wdt_reset();
>                                 _delay_ms(1);
>                         };
>                 }
>         };
> }
>
> j.
>


Další informace o konferenci Hw-list