LeviCC

tuto_mb_main.c

May 8th, 2015
500
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.03 KB | None | 0 0
  1. // tuto_mb_main.c
  2. // Flavio "Levi" Capitao - 08.05.2015
  3. // Tutorial Micoblaze MCS
  4. // http://levi-ee.com
  5.  
  6.  
  7. #include <stdio.h>
  8. #include "platform.h"
  9. //#include "xparameters.h"
  10. #include "xiomodule.h" // Pour les GPIO
  11.  
  12. void print(char *str);
  13.  
  14.  
  15. void timedelay(void) // Delay par pooling
  16. {
  17.     u32 i;
  18.     for(i=0 ; i<5000000 ; i++)
  19.     {
  20.         i++;
  21.         i--;
  22.     }
  23. }
  24.  
  25. int main()
  26. {
  27.     u8 dip_sw_value;
  28.     XIOModule dip_sw;
  29.  
  30.     init_platform();
  31.  
  32.     print("Debut du programme tutorial Microblaze MCS\n\r");
  33.  
  34.     dip_sw_value = XIOModule_Initialize(&dip_sw, XPAR_IOMODULE_0_DEVICE_ID);
  35.     dip_sw_value = XIOModule_Start(&dip_sw);
  36.  
  37.     while(1)
  38.     {
  39.  
  40.         dip_sw_value = XIOModule_DiscreteRead(&dip_sw, 1);
  41.  
  42.  
  43.         if (dip_sw_value == 0)
  44.             print("Valeur des DIP switchs : vide\n\r");
  45.         else if (dip_sw_value == 0xFF)
  46.             print("Valeur des DIP switchs : plein\n\r");
  47.         else if (dip_sw_value < 0x80)
  48.             print("Valeur des DIP switchs : presque vide\n\r");
  49.         else
  50.             print("Valeur des DIP switchs : presque plein\n\r");
  51.  
  52.         timedelay();
  53.     }
  54.  
  55.     return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment