Skocz do zawartości

[Bascom] atmega 32 i 6100 problem z plikami BGF


Pomocna odpowiedź

Napisano

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

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.

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.

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

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 ?

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

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.

  • Lubię! 1

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.

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ę »
×
×
  • Utwórz nowe...