Google+ Start   |   E-mail   |   Newsletter:

tft_fill_rect() error

jest tak:
  1. void tft_fill_rect(int x1, int y1, int width, int height, uint32_t color) {
  2.  
  3.         int x, y;
  4.         y1+=frame_ptr;
  5.  
  6.         Set_active_window(x1,y1,x1+width,y1+height);
  7.         Write_command(0x2c);
  8.         Set_color32(color);
  9.         for (x=x1;x<x1+width;x++) {     // <------ BŁĄD brak +3
  10.                 for (y= y1;y<y1+height;y++) {  // <------- BŁĄD brak +3
  11.                         Draw_pixel();
  12.                         Draw_pixel();  // <---- ta linia jest niepotrzebna
  13.                         Draw_pixel();  // <---- ta linia jest niepotrzebna
  14.                 }
  15.         }
  16.  
  17. }
powinno być:
  1. void tft_fill_rect(int x1, int y1, int width, int height, uint32_t color) {
  2.  
  3.         int x, y;
  4.         y1+=frame_ptr;
  5.  
  6.         Set_active_window(x1,y1,x1+width,y1+height);
  7.         Write_command(0x2c);
  8.         Set_color32(color);
  9.         for (x=x1;x<x1+width +3 ;x++) {
  10.                 for (y= y1;y<y1+height +3 ;y++) {
  11.                         Draw_pixel();
  12.                 }
  13.         }
  14. }

Podobnie należy zrobić z liniami Draw_bk_pixel() we wszystkich (kilku) funkcjach w pliku mktext.c w folderze TFT_TEXT. Na szczęście błąd ten nie powoduje żadnych komplikacji dla oka na wyświetlaczu, nie mniej jednak można powiedzieć, że nieco spowalnia nasze funkcje. Poniżej przykład co trzeba poprawić:

funkcje:  tft_mputs(), tft_puts(), tft_mputs_P(), tft_puts_P()
1.                 } else {
2.                         Set_active_window(x,y,x+gS-1,y+gH-1);
3.                         Write_command(0x2c);
4.                         for(offset=0;offset<gS*gH;offset++) {
5.                                 Draw_bk_pixel();
6. //                              Draw_bk_pixel();   // <------- tę linię należy usunąć
7. //                              Draw_bk_pixel();   // <------- tę linię należy usunąć
8.                         }
9.                         x+=gS;
10.                }

 

 

ikona Strona główna ikona O nas ikona Wydawnictwo ikona Elektronika ikona Oprogramowanie ikona Kursy ikona Nowości ikona SKLEP ikona FORUM ikona Kontakt ikona Polityka Prywatności Cookie

ATNEL Nowoczesne Rozwiązania - programowanie AVR w C | pisanie programów dla AVR | pisanie programów ATmega | pisanie programów dla AVR | programowanie mikrokontrolerów |
mikrokontrolery AVR programowanie | programowanie w C mikrokontrolerów | programowanie ATmega | programy w C AVR
Realizacja: Dpl Agency - Projektowanie Stron Internetowych