Problem z Keil

To forum jest dla wszystkich pasjonatów wiecznie młodych mikrokontrolerów '51. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
Reaper
-
Posty: 2
Rejestracja: 31 sty 2006, 16:00
Lokalizacja: Sulechów

Problem z Keil

Post autor: Reaper » 31 sty 2006, 16:06

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.

Awatar użytkownika
c4v2
Użytkownik
Posty: 427
Rejestracja: 22 lis 2005, 15:14
Lokalizacja: z przed monitora

Post autor: c4v2 » 31 sty 2006, 16:25

Witam

Nie jestem za dobry w programowaniu zwłaszcza w C, ale może chodzić o to że funkcja jest wywoływana rekurencyjnie (sama przez siebie) i sama się zagnieżdżona więcej niż 10 razy.
Ale na 100% niewiem.

Pozdrawiam

Awatar użytkownika
Koppel
Użytkownik
Posty: 500
Rejestracja: 24 lip 2005, 18:05
Lokalizacja: Gliwice

Post autor: Koppel » 31 sty 2006, 16:27

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?

Reaper
-
Posty: 2
Rejestracja: 31 sty 2006, 16:00
Lokalizacja: Sulechów

jeszcze Keil

Post autor: Reaper » 31 sty 2006, 16:43

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?
Tak to jest wersja ewaluacyjna i mam w samym programie doczynienia z liczba zmiennoprzecinkowa, ale czy mozna temu jakos zaradzic, skad wziasc odpowiednia biblioteke?

Awatar użytkownika
Koppel
Użytkownik
Posty: 500
Rejestracja: 24 lip 2005, 18:05
Lokalizacja: Gliwice

Post autor: Koppel » 31 sty 2006, 21:59

Ż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.

Awatar użytkownika
PiotrekEl
Użytkownik
Posty: 251
Rejestracja: 02 mar 2007, 19:39
Lokalizacja: Znad Jezioraq

Post autor: PiotrekEl » 02 lut 2008, 20:32

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:

Kod: Zaznacz cały

#define PortKey P1
a następnie liczbę w systemie dwójkowym:

Kod: Zaznacz cały

#define Dummy 0b00011100
to kompilator wywala mi błąd:

Kod: Zaznacz cały

KLAWIATURA02.C(128): error C251: illegal octal digit
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...

ZbeeGin

Post autor: ZbeeGin » 02 lut 2008, 21:19

Jak piszą w tym wątku: http://www.keil.com/forum/docs/thread1064.asp
Keil nie obsługuje stałych w postaci liczb binarnych.

Awatar użytkownika
PiotrekEl
Użytkownik
Posty: 251
Rejestracja: 02 mar 2007, 19:39
Lokalizacja: Znad Jezioraq

Post autor: PiotrekEl » 02 lut 2008, 22:11

Rzeczywiście. Czyli jednak słabo szukałem. No cóż poradzę sobie i bez tego bo tworzenie makra nie bardzo mi się opłaca ale pomysł ciekawy.
Dzięki ZbeeGin, za pomoc.
Tak wogóle to Keil chyba nie jest zbyt popularny.

Jeszcze raz dziękuję.
I Pozdrawiam.

ODPOWIEDZ