Skocz do zawartości

Pomocna odpowiedź

Napisano

Witam,

jestem początkujący w tym temacie, kupiłem Atmege16 wgrałem najprostszy program i moim zdaniem mikro kontroler sie ciągle resetuje ponieważ dioda ciągle mruga

nie przestawiałem nic we fuse bitach

$regfile = "m16def.dat"
$crystal = 1000000



Config Portb = Input
      Portb = &B00000000
Config Portd = Output
      Portd = &B0000000


Do

  If Pinb.0 = 1 Then
  Toggle Portd.6
  End If

Loop

End

troche pomogło

jeśli wcisnę przycisk i trzymam go wciśniętego otrzymam zamierzony efekt a jeśli puszczę przycisk dioda nadal mruga

do pinu reset mam podpięty rezystor 10K który następnie jest podpięty do VCC

$regfile = "m16def.dat"
$crystal = 1000000



Config Portb = Input
      Portb = &B00000000
Config Portd = Output
      Portd = &B0000000


Do

  If Pinb.0 = 1 Then
  Toggle Portd.6
  End If

Loop

End

Mruga bo nie ustaliłeś na jaki czas program ma sie zatrzymać, wiec odrazu przeskakuje do kolejnej instrukcji.

spróbuj

   If Pinb.0 = 1 Then
  Toggle Portd.6
  Waitms 500  
  End If

Jeżeli dioda będzie mrugać bez przyciskania to znaczy ze wejscie jest źle ustawione.

A ja ku przestrodze przesiadających się z m8 na m16 powiem, że m16 to strasznie wybredne gnidy jeśli chodzi o zasilanie 🙂 O ile m8 potrafi działać na jednym prawie rozładowanym lipolku, strasznym syfie w zasilaniu (silniki z tego samego lipola) i kwarcu 16MHz (mówię tu o normalnej 8, nie o m8l) to m16 się strasznie często resetuje, nawet przy spadkach z 5V do 4V. Tak, wiem, że noty podają tak jak jest naprawdę i tamta m8 teoretycznie nie powinna działać, ale lubię sobie zaoszczędzić/ułatwić życie robiąc kilka rzeczy niezgodnie z notą. W m16 to nie przechodzi 🙂

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...