zuba1 Napisano Luty 10, 2013 Udostępnij Napisano Luty 10, 2013 Witam.Robię pilot do robota z wyświetlaczem z N6100.Postanowiłem dołożyć parę grafik do tekstu w pilocie.I tu zaczął się problem ponieważ wzięta bit mapa BMP przerobiona przez bascoma na bgf wywala błąd w kompaktorze.Po prostu plik się nie kompiluje. Co najciekawsze znalazłem gotowca na atmegę8 i u niej też wywala błąd i to taki sam. $regfile = "m32def.dat" $crystal = 8000000 '8 MHz internal oscillator $hwstack = 128 $swstack = 128 $framesize = 64 $lib "Lcd-pcf8833.lbx " $lib "LCD-epson.LBX " Config Graphlcd = Color , Controlport = Portc , Cs = 3 , Rs = 0 , Scl = 2 , Sda = 1 Setfont Color8x8 Const Blue = &B00000011 'predefined contants are making programming easier 'Const Yellow = &B11111100 Const Yellow = &B11110000 Const Red = &B11100000 Const Green = &B00011100 Const Black = &B00000000 Const White = &B11111111 Const Brightgreen = &B00111110 Const Darkgreen = &B00010100 Const Darkred = &B10100000 Const Darkblue = &B00000010 Const Brightblue = &B00011111 Const Orange = &B11111000 Glcdcmd &H36 'Mem_control Glcddata &H48 'My=0 Mx=0 V=1 Lao=1 Rbg=0 "00110000" Glcdcmd &H21 'Inversion_on 'kontrast Cls Box(0 , 0) -(130 , 130) , White Wait 2 Cls Text Cls Graph Showpic 0 , 0 , Zdjencie End Zdjencie: $bgf "c:\pulpit.bgf" $include "color8x8.font" $include "color16x16.font" A tu mam drugi kod Pod atmegę8 który zachowuje się tak samo. $lib "Lcd-pcf8833.lbx" $regfile = "m8def.dat" $crystal = 8000000 '$hwstack = 128 '$swstack = 128 '$framesize = 64 Config Graphlcd = Color , Controlport = Portc , Cs = 1 , Rs = 0 , Scl = 3 , Sda = 2 Const Blue = &B00000011 'predefined contants are making programming easier Const Yellow = &B11111100 Const Red = &B11100000 Const Green = &B00011100 Const Black = &B00000000 Const White = &B11111111 Const Brightgreen = &B00111110 Const Darkgreen = &B00010100 Const Darkred = &B10100000 Const Darkblue = &B00000010 Const Brightblue = &B00011111 Const Orange = &B11111000 Cls Box(0 , 0) -(130 , 130) , White Wait 2 Cls Text Cls Graph Showpic 0 , 0 , Bartek End Bartek: $bgf "z.bgf" Błąd wygląda następująco: EQU not found probably using functions that are not supported by the selected chip [RAMPZ] Wygląda to tak jak by dobijał się do jakiegoś rejestru a jego tam niema. Proszę o pomoc i z góry dziękuję. Pozdrawiam Link do komentarza Share on other sites More sharing options...
RoboticDivision Luty 10, 2013 Udostępnij Luty 10, 2013 Daj pliki color8x8.font i color16x16.font to może coś się poradzi. Ogólnie problem dotyczy tego, że w tych plikach są nazwy portów albo rejestrów specjalnych. A w takich przypadkach musisz sam określić adresy tych rejestrów. Można to zrobić jeszcze inaczej ale zapodaj pliki. Link do komentarza Share on other sites More sharing options...
zuba1 Luty 10, 2013 Autor tematu Udostępnij Luty 10, 2013 No właśnie w tym problem że fonty były tez dodawane i nie działało a powinno. Ten drugi kod nie był w ogóle modyfikowany a mam potwierdzenie że działał. Jakie chcesz pliki to je tu dam. Link do komentarza Share on other sites More sharing options...
RoboticDivision Luty 10, 2013 Udostępnij Luty 10, 2013 Wrzuć tu albo daj linka do : color8x8.font i color16x16.font Spróbuje to uruchomić u siebie. Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
zuba1 Luty 10, 2013 Autor tematu Udostępnij Luty 10, 2013 Znalazłem przyczynę ale dalej rozwiązania brak. Mój LCD wbrew zapewnieniom sprzedawcy chodzi na sterowniku "Lcd-pcf8833.lbx " a nie na "LCD-epson.LBX " Gdy wywaliłem z kodu sterownik pcf8833 kod wtedy cię odpalił ale niestety nie był to sterownik mojego LCD więc nic nie wyświetlił . Muszę zdobyć nowy sterownik ps.dodaję ci te fonty-wsadź je do folderu głównego bascoma na 1005 działają bo długo już je używam i jeszcze mię nie zawiodły =D . [ Dodano: 10-02-2013, 21:25 ] Miał by ktoś oryginalną bascomową bibliotekę Lcd-pcf8833.lbx ??? Bo siedzę i siedzę i nie mogę znaleźć. Z góry dziękuję. [ Dodano: 10-02-2013, 22:13 ] A więc sprawa wygląda tak. Razem z użytkownikiem RoboticDivision na pw. znaleźliśmy usterkę. Jest nią rejestr RAMPZ a raczej jego brak w modelu atmega32. Czy ktoś wie jak zamienić ten rejestr na jakiś inny?? Czy ktoś podejmował się modyfikacji tej biblioteki?? Pulpit.rar Link do komentarza Share on other sites More sharing options...
BlackJack Luty 11, 2013 Udostępnij Luty 11, 2013 W takim przypadku rodzi się pytanie czy nie prościej będzie napisać własną bibliotekę ? Jak znasz sterownik wyświetlacza powinno być wykonalne, nawet w samym BASCOMIe, tylko że wydajność może kuleć. Co do tego nie istniejącego rejestru RAMPZ, to może on i istnieje, ale jest niedostępny z poziomu programu, bo służy do programowania procesora i jest rejestrem pomocniczym, obsługiwanym przez automat programujący. Teraz pytanie co robi ten rejestr w bibliotece ? Link do komentarza Share on other sites More sharing options...
zuba1 Luty 11, 2013 Autor tematu Udostępnij Luty 11, 2013 Rejestr ten występuje w obu bibliotekach epsona i philipsa z tym że epsona tylko raz a philipsa notorycznie.Ja niestety w pisaniu bibliotek jestem noga.Wczoraj próbowałem coś modyfikować tą bibliotekę ale niestety bez skutku.Wydaje mi się że to wina nowej wersji bascom avr.przydała by się stara wersja albo zmodyfikowane biblioteki. [ Dodano: 11-02-2013, 15:14 ] Ma ktoś pomysł jak by to zrobić?? [ Dodano: 11-02-2013, 23:06 ] Dobra znalazłem bibliotekę z 2007r. i wyświetla te pliki 😃 Niestety nie mogę rysować kwadratów ani prostokątów a cała grafika mojego pilota się o to opiera. Wie ktoś jak tą biblioteką rysować kwadraty? Bibliotekę dodaję w załączniku. LCD-pcf8833B.rar Link do komentarza Share on other sites More sharing options...
RoboticDivision Luty 12, 2013 Udostępnij Luty 12, 2013 Problem jest z tym, że w tych bibliotekach jest rejestr RAMPZ, który posiadają tylko procesory o pamięci większej niż 64k. A jak go nie ma to musisz sam określić jego adres - mimo tego że nie będzie on używany bo tak jest napisana biblioteka. Służy do tego dyrektywa asemblera .EQU Wpisz więc przed bibliotekami .equ RAMPZ=$FFFF Co prawda nie masz takiego adresu w atmedze32 ale i tak nie będziesz go używał. Spróbuj z tą biblioteką którą ci wysłałem. 1 Link do komentarza Share on other sites More sharing options...
zuba1 Luty 12, 2013 Autor tematu Udostępnij Luty 12, 2013 Dzięki.Pomogło 😃 piwo dla ciebie 😃. Z całą resztą powinienem sobie już poradzić. I pomyśleć że podmienienie adresu rejestru wystarczyło. A ja się męczyłem instalując starego bascoma z 2007r. żeby wyciągnąć biblioteki a potem na podstawie obydwu zrobić jedną. Prawie mi się to udało bo już jakiś zarys Grafik powstawał ale było to dość marne. Jeszcze raz wielkie dzięki. Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »