Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //GPIO (DIO)
- #define RCGGPIO *((volatile unsigned long *)(0x400FE608))
- #define GPIODEN *((volatile unsigned long *)(0x4002551C))
- #define GPIOAFSEL *((volatile unsigned long *)(0x40025420))
- #define GPIODIR *((volatile unsigned long *)(0x40025400))
- #define GPIODATA *((volatile unsigned long *)(0x400253fc))
- #define GPIOLOCK *((volatile unsigned long *)(0x40025520))
- #define GPIOCR *((volatile unsigned long *)(0x40025524))
- #define GPIOPUR *((volatile unsigned long *)(0x40025510))
- //Timer (GPT)
- #define RCGCTIMER *((volatile unsigned long *)(0x400FE604))
- #define GPTMCTL *((volatile unsigned long *)(0x4003000C))
- #define GPTMCFG *((volatile unsigned long *)(0x40030000))
- #define GPTMTAMR *((volatile unsigned long *)(0x40030004))
- #define GPTMTAILR *((volatile unsigned long *)(0x40030028))
- #define GPTMRIS *((volatile unsigned long *)(0x4003001C))
- #define GPTMICR *((volatile unsigned long *)(0x40030024))
- //BitWise
- #define check_bit(b,p) \
- (b &(1<<p))>>p
- //1&(b>>p);
- #define set_bit(b,p) \
- b = b|(1<<p);
- #define clear_bit(b,p) \
- b = b&~(1<<p);
- int main()
- {
- /*RCGGPIO=0x20;
- GPIODEN=0x02;
- GPIOAFSEL=0x0;
- GPIODIR=0x02;
- GPIODATA=0x02;*/
- //DIO
- RCGGPIO=0x20;
- GPIOLOCK=0x4C4F434B;
- GPIOCR=0x01;
- GPIOAFSEL=0x00;
- GPIODEN=0x1F;
- GPIOPUR=0x11;
- GPIODIR=0x0E;
- //GPT
- RCGCTIMER=0x01;
- GPTMCTL=0x00;
- GPTMCFG=0x00;
- GPTMTAMR=0x02;
- //GPTMTAILR=16000000; //second
- GPTMTAILR=10000000;
- GPTMCTL=0x01;
- char flag=0;
- while(1)
- {
- if (check_bit(GPTMRIS,0)==1&&flag==0) //green
- {
- GPIODATA=0x08;
- GPTMICR=0x01;
- flag++;
- }
- else if (check_bit(GPTMRIS,0)==1&&flag==1) //blue
- {
- GPIODATA=0x04;
- GPTMICR=0x01;
- flag++;
- }
- else if (check_bit(GPTMRIS,0)==1&&flag==2) //red
- {
- GPIODATA=0x02;
- GPTMICR=0x01;
- flag++;
- }
- else if (check_bit(GPTMRIS,0)==1&&flag==3) //red blue (magenta)
- {
- GPIODATA=0x06;
- GPTMICR=0x01;
- flag++;
- }
- else if (check_bit(GPTMRIS,0)==1&&flag==4) //red green (yellow)
- {
- GPIODATA=0x0A;
- GPTMICR=0x01;
- flag++;
- }
- else if (check_bit(GPTMRIS,0)==1&&flag==5) //green blue (cyan)
- {
- GPIODATA=0x0C;
- GPTMICR=0x01;
- flag++;
- }
- else if (check_bit(GPTMRIS,0)==1&&flag==6) //green blue red (white)
- {
- GPIODATA=0x0E;
- GPTMICR=0x01;
- flag=0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement