Mam problem z skompilowaniem programu tego sterownika (program sciągnięty z strony EP)
jak używam Bascoma w wersji 1.1 1.8.3 to instrukcje:
$xa 'wlaczenie dostepu do zewnetrznej magistrali mikrokontrolera
$hwstack = 50 'wartosc stosu
$swstack = 50 'wartosc stosu
$framesize = 50
są podświetlane prawidłowo jako akceptowalna składnia (na niebiesko)
Niestety wersja ta jest demo do 4k kodu dlatego nie mogę skompilować
Jednak posiadam wersjaę Bascoma 1.11.7.4 która niema ograniczeń co do wielkości kodu wynikowego jednak
I WTYM WŁAŚNIE PROBLEM
w tej wersji kompilator nie chce rozpoznać tych instrukcji (czarny kolor tekstu)
$xa 'wlaczenie dostepu do zewnetrznej magistrali mikrokontrolera
$hwstack = 50 'wartosc stosu
$swstack = 50 'wartosc stosu
$framesize = 50
zgłacza taki error:
Uniknown statment [$XA]........
Assigment error [$hwstack:112 50:112]...
Assigment error [$swstack:112 50:112]...
Assigment error [$framesize:112 50:112]...
Oto fragment początku programu w którym znajdują cię te instrukcje
'Sterownik z interfejsem TCP/IP
'Login: test, Haslo: test
'5 wejsc
'8 wyjsc
$prog &HFF , &HEF , &HD9 , &HFD 'FuseBits
$regfile = "M162def.dat" 'typ mikrokontrolera
$crystal = 8000000 'czestotliwosc zegara
$xa 'wlaczenie dostepu do zewnetrznej magistrali mikrokontr
$hwstack = 50 'wartosc stosu
$swstack = 50 'wartosc stosu
$framesize = 50 'wartosc ramki
$lib "tcpip.lbx" 'zalaczenie biblioteki tcp/ip
'stałe dla modułu TCP/IP
Const Sock_stream = $01 ' Tcp
Const Sock_dgram = $02 ' Udp
Const Sock_ipl_raw = $03 ' Ip Layer Raw Sock
Const Sock_macl_raw = $04 ' Mac Layer Raw Sock
Const Sel_control = 0 ' Confirm Socket Status
Const Sel_send = 1 ' Confirm Tx Free Buffer Size
Const Sel_recv = 2 ' Confirm Rx Data Size
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ęsterownik TCP/IP AVT 974 kompilacja
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
To nie wystarczy, dodaj bibliotekę przez
Kod: Zaznacz cały
$lib "tcpip.lbx"
tak właśnie zrobiłem na załączonym wyżej fragmęcie programu
jest linijka
$lib "tcpip.lbx" 'zalaczenie biblioteki tcp/ip
nic to nie pomaga
kompilator "widzi " tą bibliotekę ponieważ po jej wykasowaniu pojawiają cię kolejne błedy kompilacji
Czy pomiędzy wersjami 1.1 1.8.3 1.11.7.4 Bascoma są jakiś różnice które sprawiają że nie można używać instrukcji $xa , $hwstack , $swstack ,$framesize czy potrzebna jest jakać specjalna biblioteka .
jest linijka
$lib "tcpip.lbx" 'zalaczenie biblioteki tcp/ip
nic to nie pomaga
kompilator "widzi " tą bibliotekę ponieważ po jej wykasowaniu pojawiają cię kolejne błedy kompilacji
Czy pomiędzy wersjami 1.1 1.8.3 1.11.7.4 Bascoma są jakiś różnice które sprawiają że nie można używać instrukcji $xa , $hwstack , $swstack ,$framesize czy potrzebna jest jakać specjalna biblioteka .
Pomiędzy wersją 7.4 a 8.3 jest różnica właśnie między innymi taka, że nie działają komendy $xa, $hwstack, $swstack, $framesize.
Na Twoim miejscu po prostu bym je wyrzucił z programu.
Możesz ustawić je sobie w oknie kompilatora (tam gdzie wybiersza chipa Options, Compiler, Chip).
$xa to nic innego jak External Access Enable (czyli poinformowanie szanownej Atmegi, że korzystasz z pamięci zewnętrznej - oczywiście nie EEprom na I2C).
Opcję tą należy zaznaczyć.
Powinno ruszyć bez błędu.
Pozdrawiam
Na Twoim miejscu po prostu bym je wyrzucił z programu.
Możesz ustawić je sobie w oknie kompilatora (tam gdzie wybiersza chipa Options, Compiler, Chip).
$xa to nic innego jak External Access Enable (czyli poinformowanie szanownej Atmegi, że korzystasz z pamięci zewnętrznej - oczywiście nie EEprom na I2C).
Opcję tą należy zaznaczyć.
Powinno ruszyć bez błędu.
Pozdrawiam
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 7 gości