Skocz do zawartości

KS0108 czyszczenie piksela i bitmapy


mario246

Pomocna odpowiedź

Witam, jestem posiadaczem książki pana Tomasz Francuza odnośnie C, jednak w opisie książki jest jak zapalić dany pixel na lcd ale nie bardzo wiem jak go zgasić. Mam także w tablicy przygotowaną w kodzie szesnastkowym bitmapę ale też nie bardzo wiem jak ją wyświetlić, wychodzą mi same głupoty, czy jest ktoś w stanie mi pomóc?

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

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

Tablica wygenerowana przez asystenta autorstwa radzia:

const PROGMEM unsigned char ikonka[32] = {

0x00, 0x70, 0x88, 0x04, 0x04, 0x04, 0x08, 0x10, 0x08, 0x04, 0x04, 0x84, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x08, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00

};

Program znaleziony w edw bodajże:

void lcdBitmap(char * bmp, unsigned char x, unsigned char y, unsigned char dx, unsigned char dy)

{

unsigned char i,j;

for(j=0;j

{

GLCD_goto(x,y +j);

for (i=0;i

GLCD_WriteData(pgm_read_byte(bmp++));

}

}

Link do komentarza
Share on other sites

#include <avr\io.h>
#include "KS0108.h"
#include "graphics.h"
//#include <stdio.h>
//#include <string.h>
int a,b;
#include <util/delay.h>
const PROGMEM unsigned char ikonka[32] = {
0x00, 0x70, 0x88, 0x04, 0x04, 0x04, 0x08, 0x10, 0x08, 0x04, 0x04, 0x84, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x08, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
};

void lcdBitmap(char * bmp, unsigned char x, unsigned char y, unsigned char dx, unsigned char dy)
   {
	   unsigned char i,j;
	   for(j=0;j<dy/8;j++)
	   {
		   GLCD_goto(x,y +j);
		   for (i=0;i<dx;i++)
		   GLCD_WriteData(pgm_read_byte(bmp++));
	   }	
	   }

int main()
{    
GLCD_init();
color=1;
GLCD_cls();
//for(uint8_t r=0;r<32;r++) GLCD_Circle(64, 32, r);//64 32
//GLCD_Circle(64,32, 50);
//GLCD_goto(-60,0);
//GLCD_putchar(32);

       void lcdBitmap(ikonka,0,32, 8,8);

 GLCD_Line(-64,63,-1,63);
 GLCD_Line(0,60, 0,63);
 GLCD_Line(-64,60,-1,60);


while(1)
       {

       }	 





}

a nie pojrzałem i dlatego się wkradła tam.

Link do komentarza
Share on other sites

Sorki, testowałem inną funkcję i nie to wkleiłem co trzeba,
lcdBitmap(ikonka,0,0,16,16) przepraszam bardzo, po wstawieniu takiego czegoś obrazek się rysuje tak jak chcę, dziekuję za pomoc w zanalezeniu głupich błedów które popełniłem 🙂

Link do komentarza
Share on other sites

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

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.