Staram sie napisac oprogramowanie w C pod mikrokonwerter ADuC842 i przy tworzeniu pliku HEX wyskakuje mi taki blad:
*** FATAL ERROR L210: I/O ERROR ON INPUT FILE:
EXCEPTION 0021H: PATH OR FILE NOT FOUND
FILE: C:\KEIL\C51\LIB\C51FPL.LIB
Znalazlem wyjasnienie, co ten blad moze oznaczac, ale niestety wciaz nie wiem jak to poprawic:
210 Too many nested calls
Function calls can be nested at most 10 levels deep.
Prosze o pomoc w rozwiazaniu tego problemu, z gory dziekuje.
Ktoś odpowiedział, że należy przerobić liczbę zmiennoprzecinkową na dziesiętną lub dołączyć jakieś biblioteki, wolałbym dołączyć biblioteki tylko skąd je wziąść z góry dziekuję za pomoc.
Problem z Keil
Nie wygląda na to aby informacja wypisywana przez kompilator zgadzała się z tym co znalazłeś na temat występującego błędu. Może powinieneś raczej szukać dokładnie "L210" a nie "210". Czy środowisko jest zainstalowane w katalogu C:\Keil ?
Sprawdź czy plik: C:\KEIL\C51\LIB\C51FPL.LIB istnieje. Po nazwie można się spodziewać, że będzie to coś w rodzaju (...fpl) floating point library. Nie masz do czynienia przypadkiem z jakąś wersją ewaluacyjną, która nie posiada możliwości pracy z liczbami zmiennoprzecinkowymi?
Sprawdź czy plik: C:\KEIL\C51\LIB\C51FPL.LIB istnieje. Po nazwie można się spodziewać, że będzie to coś w rodzaju (...fpl) floating point library. Nie masz do czynienia przypadkiem z jakąś wersją ewaluacyjną, która nie posiada możliwości pracy z liczbami zmiennoprzecinkowymi?
jeszcze Keil
Tak to jest wersja ewaluacyjna i mam w samym programie doczynienia z liczba zmiennoprzecinkowa, ale czy mozna temu jakos zaradzic, skad wziasc odpowiednia biblioteke?Koppel pisze:Nie wygląda na to aby informacja wypisywana przez kompilator zgadzała się z tym co znalazłeś na temat występującego błędu. Może powinieneś raczej szukać dokładnie "L210" a nie "210". Czy środowisko jest zainstalowane w katalogu C:\Keil ?
Sprawdź czy plik: C:\KEIL\C51\LIB\C51FPL.LIB istnieje. Po nazwie można się spodziewać, że będzie to coś w rodzaju (...fpl) floating point library. Nie masz do czynienia przypadkiem z jakąś wersją ewaluacyjną, która nie posiada możliwości pracy z liczbami zmiennoprzecinkowymi?
Żeby wszystko było jasne: Ja wcale nie wiem czy w ewaluacyjnej wersji kompilatora firmy Keil istnieje takie ograniczenie. Dla tego też proponowałem Ci abyś sprawdził czy wspomniany plik istnieje.
Może być to spowodowane błędną instalacją. Jeśli instalowałeś program w katalogu innym niż domyślny, spróbuj jeszcze raz, jednak zgadzając się na domyślne ustawienia.
Może być to spowodowane błędną instalacją. Jeśli instalowałeś program w katalogu innym niż domyślny, spróbuj jeszcze raz, jednak zgadzając się na domyślne ustawienia.
Witam.
Pozwoliłem sobie podpiąć się pod temat. Mam pewien kłopot z Keil µVision3.
A może raczej pytanie.
Chodzi o to że jak zdefiniuje sobie na początku programu np port P1:
a następnie liczbę w systemie dwójkowym:
to kompilator wywala mi błąd:
Błąd ten z tego co rozumiem znaczy, że liczba nie jest prawidłową liczbą ósemkową.
Czyli zapis 0b przed liczbą znaczy że ta liczba jest ósemkowa?
Jak w takim razie w środowisku Keil pisze się liczby binarne?
Szukałem w internecie i spotkałem się z takim zapisem tylko. Może coś słabo szukałem ale naprawdę nie umiem znaleźć. Mam trochę przykładów które były na płytce do Keila ale tam jak na złość nie ma takich liczb. Zawsze można napisać dziesiętnie albo szesnastkowo ale binarnie mi będzie wygodniej. No i musi być taka możliwość przecię.
Zapis 0001110B też nie działa.
Pozdrawiam...
Pozwoliłem sobie podpiąć się pod temat. Mam pewien kłopot z Keil µVision3.
A może raczej pytanie.
Chodzi o to że jak zdefiniuje sobie na początku programu np port P1:
Kod: Zaznacz cały
#define PortKey P1
Kod: Zaznacz cały
#define Dummy 0b00011100
Kod: Zaznacz cały
KLAWIATURA02.C(128): error C251: illegal octal digit
Czyli zapis 0b przed liczbą znaczy że ta liczba jest ósemkowa?
Jak w takim razie w środowisku Keil pisze się liczby binarne?
Szukałem w internecie i spotkałem się z takim zapisem tylko. Może coś słabo szukałem ale naprawdę nie umiem znaleźć. Mam trochę przykładów które były na płytce do Keila ale tam jak na złość nie ma takich liczb. Zawsze można napisać dziesiętnie albo szesnastkowo ale binarnie mi będzie wygodniej. No i musi być taka możliwość przecię.
Zapis 0001110B też nie działa.
Pozdrawiam...
Jak piszą w tym wątku: http://www.keil.com/forum/docs/thread1064.asp
Keil nie obsługuje stałych w postaci liczb binarnych.
Keil nie obsługuje stałych w postaci liczb binarnych.