Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.35 KB | None | 0 0
  1. //GPIO (DIO)
  2. #define RCGGPIO  *((volatile unsigned long *)(0x400FE608))
  3. #define GPIODEN  *((volatile unsigned long *)(0x4002551C))
  4. #define GPIOAFSEL *((volatile unsigned long *)(0x40025420))
  5. #define GPIODIR *((volatile unsigned long *)(0x40025400))
  6. #define GPIODATA *((volatile unsigned long *)(0x400253fc))
  7. #define GPIOLOCK *((volatile unsigned long *)(0x40025520))
  8. #define GPIOCR *((volatile unsigned long *)(0x40025524))
  9. #define GPIOPUR *((volatile unsigned long *)(0x40025510))
  10.  
  11. //Timer (GPT)
  12. #define RCGCTIMER *((volatile unsigned long *)(0x400FE604))
  13. #define GPTMCTL *((volatile unsigned long *)(0x4003000C))
  14. #define GPTMCFG *((volatile unsigned long *)(0x40030000))
  15. #define GPTMTAMR *((volatile unsigned long *)(0x40030004))
  16. #define GPTMTAILR *((volatile unsigned long *)(0x40030028))
  17. #define GPTMRIS *((volatile unsigned long *)(0x4003001C))
  18. #define GPTMICR *((volatile unsigned long *)(0x40030024))
  19.  
  20. //BitWise
  21. #define check_bit(b,p) \
  22. (b &(1<<p))>>p
  23. //1&(b>>p);
  24. #define set_bit(b,p) \
  25. b = b|(1<<p);
  26. #define clear_bit(b,p) \
  27. b = b&~(1<<p);
  28.  
  29. int main()
  30. {
  31.    
  32.   /*RCGGPIO=0x20;
  33.   GPIODEN=0x02;
  34.   GPIOAFSEL=0x0;
  35.   GPIODIR=0x02;
  36.   GPIODATA=0x02;*/
  37.  
  38.  //DIO
  39.   RCGGPIO=0x20;
  40.   GPIOLOCK=0x4C4F434B;
  41.   GPIOCR=0x01;
  42.   GPIOAFSEL=0x00;
  43.   GPIODEN=0x1F;
  44.   GPIOPUR=0x11;
  45.   GPIODIR=0x0E;
  46.  
  47.  //GPT
  48.   RCGCTIMER=0x01;
  49.   GPTMCTL=0x00;
  50.   GPTMCFG=0x00;
  51.   GPTMTAMR=0x02;
  52.   //GPTMTAILR=16000000; //second
  53.    GPTMTAILR=10000000;
  54.   GPTMCTL=0x01;
  55.    
  56.   char flag=0;
  57.   while(1)
  58.   {
  59.  
  60.   if (check_bit(GPTMRIS,0)==1&&flag==0) //green
  61.   {
  62.     GPIODATA=0x08;
  63.     GPTMICR=0x01;
  64.     flag++;
  65.    
  66.    
  67.   }
  68.   else if (check_bit(GPTMRIS,0)==1&&flag==1) //blue
  69.   {
  70.     GPIODATA=0x04;
  71.     GPTMICR=0x01;
  72.     flag++;
  73.   }
  74.   else if (check_bit(GPTMRIS,0)==1&&flag==2) //red
  75.   {
  76.     GPIODATA=0x02;
  77.     GPTMICR=0x01;
  78.     flag++;
  79.   }
  80.   else if (check_bit(GPTMRIS,0)==1&&flag==3) //red blue (magenta)
  81.   {
  82.     GPIODATA=0x06;
  83.     GPTMICR=0x01;
  84.     flag++;
  85.   }
  86.   else if (check_bit(GPTMRIS,0)==1&&flag==4) //red green (yellow)
  87.   {
  88.     GPIODATA=0x0A;
  89.     GPTMICR=0x01;
  90.     flag++;
  91.   }
  92.   else if (check_bit(GPTMRIS,0)==1&&flag==5) //green blue (cyan)
  93.   {
  94.     GPIODATA=0x0C;
  95.     GPTMICR=0x01;
  96.     flag++;
  97.   }
  98.   else if (check_bit(GPTMRIS,0)==1&&flag==6) //green blue red (white)
  99.   {
  100.     GPIODATA=0x0E;
  101.     GPTMICR=0x01;
  102.     flag=0;
  103.   }
  104.   }
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement