Advertisement
Domy131097

lv6_vga.c

Dec 18th, 2020
867
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "xtft.h"
  2. #include "xparameters.h"
  3.  
  4. //***********************************************TO DO 1*************************************************//
  5. //*******Definirati konstantu TFT_FRAME_ADDR i postaviti ju na Base Address Micron RAM memorije**********//
  6. #define TFT_FRAME_ADDR XPAR_MICRON_RAM_MEM0_BASEADDR
  7.  
  8. //******************************************************************************************************//
  9.  
  10. //***********************************************TO DO 6*************************************************//
  11. //*******Definirati konstantu TFT_FRAME_ADDR i postaviti ju na Base Address Micron RAM memorije**********//
  12. #define RED_COLOR 0x00FF0000
  13. #define GREEN_COLOR 0x0000FF00
  14. #define BLUE_COLOR 0x000000FF
  15. #define FGCOLOR_VALUE 0x00000000
  16. #define BGCOLOR_VALUE 0x00FFFFFF
  17.  
  18.  
  19.  
  20.  
  21.  
  22. //******************************************************************************************************//
  23.  
  24. /*************************** Prototipi funkcija ******************************/
  25. int TftInitialize(u32 TftDeviceId);
  26. int TftWriteString(XTft *InstancePtr, const u8 *CharValue);
  27.  
  28. static XTft TftInstance;
  29.  
  30. int main()
  31. {
  32.     int Status;
  33.     u8 Znak;
  34.  
  35.     Status = TftInitialize(XPAR_VGA_CONTROLLER_DEVICE_ID);
  36.     if ( Status != XST_SUCCESS) {
  37.         return XST_FAILURE;
  38.     }
  39.  
  40.     //***********************************************TO DO 5*************************************************//
  41.     //*******Oèistiti ekran, postaviti boju pozadine i boju slova i ispisati nekoliko znakova na ekran*******//
  42.     XTft_ClearScreen(&TftInstance);
  43.     XTft_SetColor(&TftInstance, FGCOLOR_VALUE, BGCOLOR_VALUE);
  44.  
  45.     XTft_Write(&TftInstance, 16);
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.     //*******************************************************************************************************//
  65.  
  66.     //***********************************************TO DO 7*************************************************//
  67.     //****************************Oèistiti ekran, ispisati proizvoljan string na ekran***********************//
  68.     XTft_ClearScreen(&TftInstance);
  69.     TftWriteString(&TftInstance, "");
  70.  
  71.  
  72.     //*******************************************************************************************************//
  73.  
  74.     //***********************************************TO DO 8*************************************************//
  75.     //*****************************Oèistiti ekran, nacrtati 4 vodoravne linije ekranu************************//
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.     //*******************************************************************************************************//
  87.  
  88.     return XST_SUCCESS;
  89. }
  90.  
  91. int TftInitialize(u32 TftDeviceId){
  92.  
  93.     int Status;
  94.     XTft_Config *TftConfigPtr;
  95.  
  96.     //***********************************************TO DO 2*************************************************//
  97.     //******Dohvatiti konfiguraciju VGA suèelja, povratnu vrijednost spremiti u varijablu TftConfigPtr*******//
  98.     TftConfigPtr = XTft_LookupConfig(TftDeviceId);
  99.  
  100.     //******************************************************************************************************//
  101.  
  102.     if (TftConfigPtr == (XTft_Config *)NULL) {
  103.         return XST_FAILURE;
  104.     }
  105.  
  106.     //***********************************************TO DO 3*************************************************//
  107.     //*************Inicijalizirati VGA kontroler, povratnu vrijednost spremiti u varijablu Status************//
  108.     Status = XTft_CfgInitialize(&TftInstance, TftConfigPtr, TftConfigPtr->BaseAddress);
  109.  
  110.     //*******************************************************************************************************//
  111.  
  112.     if (Status != XST_SUCCESS) {
  113.         return XST_FAILURE;
  114.     }
  115.  
  116.     //Èekanje da Vsync status bit bude postavljen u 1 kako bi bili sigurni da je
  117.     //prethodni frame prikazan
  118.     while (XTft_GetVsyncStatus(&TftInstance) !=
  119.                     XTFT_IESR_VADDRLATCH_STATUS_MASK);
  120.  
  121.  
  122.     //***********************************************TO DO 4*************************************************//
  123.     //*********************************Postaviti base adresu Video Memorije**********************************//
  124.     XTft_SetFrameBaseAddr(&TftInstance, TFT_FRAME_ADDR);
  125.  
  126.     //*******************************************************************************************************//
  127.  
  128.     return XST_SUCCESS;
  129. }
  130.  
  131. //funkcija piše znak po znak na ekran sve dok ne doðe do null znaka ili kraja stringa
  132. int TftWriteString(XTft *InstancePtr, const u8 *CharValue)
  133. {
  134.  
  135.     while (*CharValue != 0) {
  136.         XTft_Write(InstancePtr, *CharValue);
  137.         CharValue++;
  138.     }
  139.  
  140.     return XST_SUCCESS;
  141. }
  142.  
Advertisement
RAW Paste Data Copied
Advertisement