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

error:7, error:350, error:127 line:0 Bascom avr

nawor 21 Lut 2010 18:11 3385 8
REKLAMA
  • #1 7729636
    nawor
    Poziom 11  
    Jestem początkujący. Dopiero uczę się programowania.
    Miał być to mój pierwszy samodzielny program.
    Podczas kompilacji występują 3 błędy:
    error : 7
    error: 350
    error: 127 wszystkie w line:0

    Używam Bascom AVR w wersji 1.11.9.8 demo
    Poniżej zamieszczam moje wypociny.
    Niestety w pliku pomocy jest tylko opisany Error:7

    error:7, error:350, error:127 line:0 Bascom avr error:7, error:350, error:127 line:0 Bascom avr

    Z góry dziękuję za pomoc.

    Pozdrawiam Bartek
  • REKLAMA
  • #2 7729741
    polprzewodnikowy
    Poziom 26  
    Wg. książki "Programowanie uC AVR w języku Bascom" błędy nie wyszczególnione w helpie są wynikiem błędów wewnętrznych.
  • #3 7729797
    nawor
    Poziom 11  
    polprzewodnikowy napisał:
    Wg. książki "Programowanie uC AVR w języku Bascom" błędy nie wyszczególnione w helpie są wynikiem błędów wewnętrznych.


    No tak. Biednemu to zawsze piach w oczy!
    To co z tym fantem zrobić??

    Wywaliłem cześć instrukcji oraz zmiennych w pętli głównej. Zostawiłem tylko cześć odpowiedzialne za zliczanie 1 sek. I wszystko się skompilowało poprawnie.
  • REKLAMA
  • #4 7729932
    alien_audio
    Poziom 21  
    Witam.
    Przepisałem ten program do Bascoma, u mnie kompiluje się prawidłowo.
    ale nie zamknąłeś warunku wstaw po:
    Next L_cykli
    End If

    Dodano po 1 [minuty]:

    Dodatkowo mimo wszystko program nie zadziała prawidłowo, ponieważ
    instrukcja wait zaburza działanie Timera0

    Dodano po 3 [minuty]:

    i jeszcze jedno jeśli pinu używasz jako output to ma być:
    Config Portd.0 = Output

    i wtedy piszesz PORT a nie PIN.
    Natomiast piszesz PIN ja używasz go jako input
  • #5 7730663
    Konto nie istnieje
    Poziom 1  
  • #6 7730857
    landy13
    Poziom 31  
    alien_audio napisał:

    i jeszcze jedno jeśli pinu używasz jako output to ma być:

    Config Portd.0 = Output

    i wtedy piszesz PORT a nie PIN.
    Natomiast piszesz PIN ja używasz go jako input

    To niestety nieprawda. Bascom w większości przypadków łyka obie wersje, niemniej oficjalnie jest:

    przy konfiguracji całego portu używamy PORT np:
    Config PORTD = Input

    przy konfiguracji pojedyńczych pinów używamy PIN np:
    Config PINC.3 = Output
  • REKLAMA
  • #7 7735283
    nawor
    Poziom 11  
    Dziękuje wszystkim za pomoc. Program poprawiłem, działa. No nie do końca tak jak bym chciał:)

    A mianowicie program obsługi przerwania podaje mi impuls co 2 sek. A powinien co 1 sek. Próbowałem już inaczej przeliczać wartość tak aby uzyskać czasookres impulsu 1 sek
    Załadowałem do licznika wartość o połowę niższa czyli 125. Teoretycznie powinno pomóc. Ale ten manewr nic nie zmienił w działaniu programu.

    Myślałem że Atmega dławi się nadmiarem operacji. Wiec usunąłem instrukcje w pętli głównej. Pozostawiłem tylko poniższa treść i nic nie pomogło czasookres trwa nadal 2sek.

    
     $regfile = "m8def.dat"
     $crystal = 8000000
    
           Config Portd.0 = Output
    
           Config Timer0 = Timer , Prescale = 256
    
             On Timer0 Odmierz1s
    
             Dim Licz8ms As Byte
    
    
           Enable Interrupts
           Enable Timer0
           Load Timer0 = 125
    
              Do
              Loop
              
                 End
    
            Odmierz1s:
    
           Load Timer0 = 125
    
           Incr Licz8ms
    
           If Licz8ms = 125 Then
                   Toggle Portd.0
                   Licz8ms = 0
           End If
    
           Return
    

    A może to coś z konfiguracją Fuse Bits ustawiłem 4 ostatnie na 1


    pozdrawiam Bartek

    `
  • REKLAMA
  • #9 7735401
    nawor
    Poziom 11  
    zumek napisał:
    Nie wierz we wszystko, co piszą w książkach :D
    Masz:
    
    Load Timer0 = wartosc
    

    Powinieneś mieć:
    
    Load Timer0 , wartosc
    


    Dziękuję bardzo. Działa:)

    Wiesz co do wiary w książki to niestety tylko te mi zostają. Wszyscy moi znajomi Inzynierowie jak ich pytam o Bascoma to mówią że oni to tylko asambler i na dodatek dawno dawno temu.
    Ale jest jeszcze Elektroda:)
REKLAMA