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

Błędy RESET i SET w Bascom AVR - jak poprawnie używać tych funkcji?

Hornet60 25 Sty 2006 10:14 1964 2
REKLAMA
  • #1 2216654
    Hornet60
    Poziom 18  
    Posty: 332
    Pomógł: 13
    Ocena: 15
    Witam!
    Chciałem sobie skompilować plik bas z necika i co chwila mi błędy wyskakują że funkcja RESET I SET nie może współpracować z tym parametrem czy coś takiego ... jak to zrobić aby było dobrze? przetestowałem 2 kompilatory i nic, a plik był pisany przez specjalistów z edw więc powinno wszystko śmigać :| Jestem początkującym programistą (to jest mój pierwszy program w basicu) więc proszę o jakąś łopatologiczną metodę tłumaczenia :D Na dole fragment kodu:

    Dim New As Bit
    Dim Command As Byte , Subaddress As Byte
    Reset Tcon.0
    On Int0 Receiverc5
    Config Sda = P3.1
    Config Scl = P3.0
    Declare Sub Warning
    Declare Sub Code_registration
    Declare Sub Commands_registration
    Declare Sub Waitingforcode
    Declare Sub Waitingforcommand
    Declare Sub Ledredshort
    Declare Sub Ledgreenshort
    Declare Sub Write_eeprom(adres As Byte , Value As Byte)
    Declare Sub Read_eeprom(adres As Byte , Value As Byte)
    Declare Sub Reading
    Declare Sub Switch
    Dim Flag1 As Bit
    Dim Flag2 As Bit
    Dim Adres As Byte , Value As Byte
    Dim Licznik2 As Byte
    Dim Count As Word
    Relay1 Alias P1.7
    Relay2 Alias P1.6
    Relay3 Alias P1.5
    Relay4 Alias P1.4
    Relay5 Alias P3.5
    Relay6 Alias P3.7
    Relay7 Alias P1.2
    Relay8 Alias P1.3
    Ledgreen Alias P1.0
    Ledred Alias P1.1
    Jumper1 Alias P3.3
    Jumper2 Alias P3.4
    Enable Interrupts
    Enable Int0
    Dim R As Byte
    Dim Licznik As Byte
    Dim Adres2 As Byte

    Reset Relay1 : Reset Relay2 : Reset Relay3 : Reset Relay4 : Reset Relay5
    Reset Relay6 : Reset Relay7 : Reset Relay8
    Set Ledred : Set Ledgreen
    Set Jumper1 : Set Jumper2
    Call Read_eeprom 255 , Value
    If Value <> 133 Then...
  • REKLAMA
  • #2 2216824
    Jaca
    Poziom 32  
    Posty: 1332
    Pomógł: 239
    Ocena: 217
    Do skompilowania tego programu użyj BASCOM-8051 a nie AVR...

    Pozdrawiam...
  • #3 2218157
    Hornet60
    Poziom 18  
    Posty: 332
    Pomógł: 13
    Ocena: 15
    Ok dzięki za podpowiedź, zmieniłem program i tamto miejsce gra - przeszło bez błędu, natomiast zawiesił się teraz na końcu programu przy komendzie END SUB... co teraz zrobić?

    Sub Switch
    Select Case Licznik
    Case 1 : Relay1 = Not Relay1
    Case 2 : Relay2 = Not Relay2
    Case 3 : Relay3 = Not Relay3
    Case 4 : Relay4 = Not Relay4
    Case 5 : Relay5 = Not Relay5
    Case 6 : Relay6 = Not Relay6
    Case 7 : Relay7 = Not Relay7
    Case 8 : Relay8 = Not Relay8
    End Select
    Waitms 250
    Command = 255
    End Sub

    Dokładniej - objawy są takie:
    -sprawdzam poprawność - wszystko jest ok
    -kompiluje - wyskakuje 5 błędów:
    1. illegal asm-command: jnb [P0.0]
    2. internal asembler error
    3. illegal asm-command: jb [P0.0]
    4. internal asembler error
    5. label not found [.receiwerc5]
REKLAMA