Witam.
Napisałem w Bascomie prosty program do odczytu 2 termometrów DS1820 i PCF8583 - właściwie jest to zarys gotowych procedur. Niestety przy kompilacji wywala mi masę wewnętrznych błędów - Internal Errors w ostatniej linii. GDZIE ROBIĘ BŁĄD? Zmniejszałem liczbę zmiennych typu Byte (chyba jest ich zbyt dużo więc zmniejszyłem rozmiar tablicy Adresy) ale nic to nie zmieniło. Załączam program w oryginalnej wersji - MOŻE KTOŚ MNIE OŚWIECI? robiw
PS. BASCOM-8051 ver. 2.0.11.0
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięBłędy przy kompilacji - POMOCY?
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
- Załączniki
-
- Automat.zip
- program w Bascomie
- (1.37KiB)Pobrany 121 razy
Należałoby na początku programu skonfigurować linie do których będą dołączone:
- układy 1WIRE
- szyna I2C
(oznaczenia portów podałem przykładowo).
Kompilator nie mają powyższych dowiązań próbuje zastosować pin 0 portu P0 którego nie znajduje w pliku definicji '89C4051.dat'. Procesor AT89C4051 rzecz jasna nie posiada takowego portu (posiada P1 i P3). Powodem tego jest błąd:
no i oczywiście kilkanaście następnych podobnych.
- układy 1WIRE
Kod: Zaznacz cały
Config 1wire = P1.0
Kod: Zaznacz cały
Config Scl = P3.0
Config Sda = P3.1
Kompilator nie mają powyższych dowiązań próbuje zastosować pin 0 portu P0 którego nie znajduje w pliku definicji '89C4051.dat'. Procesor AT89C4051 rzecz jasna nie posiada takowego portu (posiada P1 i P3). Powodem tego jest błąd:
Kod: Zaznacz cały
Error 131 : Illegal asm-command : Setb [P0.0] .........
Dzięki, pewnie to też pomaga ale nie do końca chodziło o ten problem (konfiguracji). To generalnie problem samego kompilatora, gdyż wystarczyło dopisać w pętli głównej programu "Do Loop" cokolwiek (np: Print) aby nie wywalał żadnego błędu. Bez deklaracji magistrali I2C i 1-Wire kompiluje się bez problemu gdy mu się wpisze jakąkolwiek instrukcję w pętli... to chyba nie najlepszy kompilator... ale prosty język... RobiwNależałoby na początku programu skonfigurować linie do których będą dołączone:
- układy 1WIRE- szyna I2CKod: Zaznacz cały
Config 1wire = P1.0
(oznaczenia portów podałem przykładowo).Kod: Zaznacz cały
Config Scl = P3.0 Config Sda = P3.1
Kompilator nie mają powyższych dowiązań próbuje zastosować pin 0 portu P0 którego nie znajduje w pliku definicji '89C4051.dat'. Procesor AT89C4051 rzecz jasna nie posiada takowego portu (posiada P1 i P3). Powodem tego jest błąd:no i oczywiście kilkanaście następnych podobnych.Kod: Zaznacz cały
Error 131 : Illegal asm-command : Setb [P0.0] .........
Bo skonfigurowałeś piny I2C w menu 'Options->Compiler->I2C'.
Jeżeli nie będzie prawidłowo skonfigurowana szyna I2C czy to poprzez polecenia 'Config' czy też poprzez ustawienia w 'Options' to będzie tak jak pisałem poprzednio.
Odnośnie pętli 'Do ... Loop' to może być pusta.
Nie raz tak testowałem poprawność procedur i nie było żadnego problemu.
Nawet Twój program z pustą pętlą kompiluje się bez błędów.
Sprawdzane wielokrotnie na wersji 2.0.11.0 Bascom-a.
Jeżeli nie będzie prawidłowo skonfigurowana szyna I2C czy to poprzez polecenia 'Config' czy też poprzez ustawienia w 'Options' to będzie tak jak pisałem poprzednio.
Odnośnie pętli 'Do ... Loop' to może być pusta.
Nie raz tak testowałem poprawność procedur i nie było żadnego problemu.
Nawet Twój program z pustą pętlą kompiluje się bez błędów.
Sprawdzane wielokrotnie na wersji 2.0.11.0 Bascom-a.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 11 gości