logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ATmega16 zablokowany złym programem - czy to możliwe?

peter013 26 Lis 2008 22:23 1394 8
REKLAMA
  • #1 5787763
    peter013
    Poziom 12  
    Mam problem ponieważ chyba zablokowałem ATmega16 nie wiem czy to możliwe że wgrywając zły program można coś takiego zrobić. Wcześniej było wszystko ok wgrałem program który mrugał diodami. Dlatego postanowiłem zrobić coś więcej i zacząłem się uczyć obsługi wyświetlacza LED. I tu zaczął się kłopot ponieważ pozmieniałem coś w programie tak że po zaprogramowaniu mikrokontroler przestał być wykrywalny. Programuje bezpośrednio podłączony pod lpt programem ISP Programmer. Proszę o pomoc co mam zrobić. Poniżej program jaki wgrałem:
    #define F_CPU 1000000L
    #include <avr/io.h>
    #include <util/delay.h>    
    #define LED_A 0
    #define LED_B 1
    #define LED_C 2
    #define LED_D 3
    #define LED_E 4
    #define LED_F 5
    #define LED_G 6
    #define LED_DP 7
    #define LEDPORT PORTB
    #define LEDDDR DDRB
    #define COM1 6
    #define COM2 5
    #define COM3 4
    #define COM4 3
    #define COMPORT PORTD
    #define COMDDR DDRD
    int main(void)
    {
    LEDDDR = 0xff;
    COMDDR = 0<<COM1 | 0<<COM2 | 0<<COM3 | 0<<COM4;
    
    COMPORT = ~ (1<<COM1);
    LEDPORT = ~ (1<<LED_B | 1<<LED_C) ;
    return 0;
    }
  • REKLAMA
  • #2 5787841
    snow
    Poziom 31  
    Przede wszystkim brak jest pętli głownej. Poza tym nie da się takim "programem" zablokować procesora.
  • REKLAMA
  • #3 5787928
    peter013
    Poziom 12  
    To co się mogło stać i co mam zrocić żeby go naprawić.
  • REKLAMA
  • #4 5788011
    dawid512
    Poziom 32  
    Nie zmieniałeś czasem fuse bitów? Programem nie da się zablokować uc...
  • #5 5788054
    peter013
    Poziom 12  
    Raczej nie, dopiero po tym jak przestał być wykrywany, próbowałem też wzbudzić go generatorem na ne555 tylko nie miałem potrzebnych elementów i użyłem innych. Jest jeszcze jakaś szansa że coś z tego będzie.
  • REKLAMA
  • #6 5788076
    dawid512
    Poziom 32  
    Martwi mnie to twoje
    Cytat:
    Raczej nie
    . Wielu początkujących zmienia fuse bity nawet o tym nie wiedząc a potem są takie tematy... Możesz spróbować podłączyć wyjście zegarowe innego uc do wejścia zegarowego zablokowanego lecz nie zawsze to pomaga. Wtedy pozostaje programator równoległy lub po prostu uc do kosza...
  • #7 5788104
    peter013
    Poziom 12  
    To mój jedyny i pierwszy mikrokontroler chyba będzie trzeba kupić więcej sztuk. A czy jest jeszcze jakaś inna możliwość oprócz tego że pozmieniałem fuse?
  • #8 5788608
    dzarek1
    Poziom 14  
    bascom powinien ci wykryć uP, jak sie tak stanie to przynajmniej wiesz, że żyje, w innym przypadku opraw w ramkę dla pamięci i kup nowy :P

    możesz jeszcze sprawdzić co sie dzieje jak zmniejszysz szybkość portu, ja tak dziwnie "uwaliłem" kilka procków programatorem USB (LPT w lapku brak :( ) a okazało się, że wystarcz zmniejszyć szybkość i wszytko śmiga, tylko denerwująco wolniej :/ ....
  • #9 5792084
    asembler
    Poziom 32  
    Na początek kup zdrowego procka zeby sprawdzic czy programator jest dobry. Jak juz bedzisz mial pewnosc wtedy mozna sie bawic dalej. U mnie tak było ze uwaliłem LPT pare razy, teraz programuje z COM-a i mam spokój COM wszystko wytrzyma a przynajmniej moje eksperymenta.
REKLAMA