Dzień dobry,
Jestem w trakcie tworzenia programu, w którym wyniki wyświetlane na wyświetlaczu graficznym 128x64 chcę zapisać potem na kartę SD. Problem w tym, że polecenia obsługi wyświetlacza graficznego (Boxfill, Line, Circle) "gryzą się" z poleceniem OPEN wykorzystywanym w podprogramie dokonującym zapisu do karty SD.
Do programu dołączyłem bibliotekę do obsługi kart pamięci AVR-DOS.bas.
Program testowy:
Przy próbie kompilacji pojawia się błąd:
Linia 221 jest całkiem poza programem. Z ksiązki M. Wziązani dowiedziałem się tylko, że chodzi o skod do tyłu poza dozwolonym zakresem.
W przedstawionym wyżej programie wystarczy usunąć linijkę w podprogramie ZAPIS zaczynającą się od OPEN, lub linię w pętli DO zaczynającą się od LINE i program kompiluje się bez żadnego błędu.
Dodam, że przy stworzeniu programu wykorzystującego tylko wyświetlacz lub tylko zapis do karty SD wszystko działa dobrze. Próba połączenia ich w jednym programie skutkuje błędem.
W HELPIE Bascoma (po polsku) znalazłem, że
Skoro PRINT używa UART, więc domyślam się, że Lcdat również. Stąd wyświetlanie tekstu na wyświetlaczu nie gryzie się z zapisem do SD.
Czy instrukcje takie jak Circle, Line, Boxfill używają innego kanału transmisji co skutkuje błędem?
W załączniku przesyłam treść biblioteki do obsługi kart pamięci, której używam.
Pozdrawiam Piotr,
Jestem w trakcie tworzenia programu, w którym wyniki wyświetlane na wyświetlaczu graficznym 128x64 chcę zapisać potem na kartę SD. Problem w tym, że polecenia obsługi wyświetlacza graficznego (Boxfill, Line, Circle) "gryzą się" z poleceniem OPEN wykorzystywanym w podprogramie dokonującym zapisu do karty SD.
Do programu dołączyłem bibliotekę do obsługi kart pamięci AVR-DOS.bas.
Program testowy:
Kod: VB.net
Przy próbie kompilacji pojawia się błąd:
Kod: VB.net
Linia 221 jest całkiem poza programem. Z ksiązki M. Wziązani dowiedziałem się tylko, że chodzi o skod do tyłu poza dozwolonym zakresem.
W przedstawionym wyżej programie wystarczy usunąć linijkę w podprogramie ZAPIS zaczynającą się od OPEN, lub linię w pętli DO zaczynającą się od LINE i program kompiluje się bez żadnego błędu.
Dodam, że przy stworzeniu programu wykorzystującego tylko wyświetlacz lub tylko zapis do karty SD wszystko działa dobrze. Próba połączenia ich w jednym programie skutkuje błędem.
W HELPIE Bascoma (po polsku) znalazłem, że
Cytat:Domyślnym urządzeniem transmisyjnym jest wbudowany w mikroprocesor układ transmisji
szeregowej, nazywany COM1. Jest on automatycznie otwierany, tak więc może być używany przez
instrukcje INPUT oraz PRINT, bez potrzeby używania instrukcji OPEN.
Skoro PRINT używa UART, więc domyślam się, że Lcdat również. Stąd wyświetlanie tekstu na wyświetlaczu nie gryzie się z zapisem do SD.
Czy instrukcje takie jak Circle, Line, Boxfill używają innego kanału transmisji co skutkuje błędem?
W załączniku przesyłam treść biblioteki do obsługi kart pamięci, której używam.
Pozdrawiam Piotr,