Advertisement
Guest User

Untitled

a guest
Jan 20th, 2015
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ECAP
  2. #define EC          c3
  3. #define EC_CTL1_V 0b0000000111111111 //todo: msb?
  4. #define EC_CTL2_V 0b0000000010010000
  5. #define EC_EINT_V 0x2 //interrupt on capture event 1
  6.  
  7. #define EC_TSCCTR   0x0 //timestamp counter
  8. #define EC_CTL1     0x28
  9. #define EC_CTL2     0x2A
  10. #define EC_EINT     0x2c //interrupt enable
  11. #define EC_FLG      0x2e //interrupt flags
  12. #define EC_CLR      0x2e //interrupt clear
  13.  
  14. CHECK_ECAP:
  15.         //stop everything
  16.         MOV  tmp0, 0
  17.         SBCO tmp0, EC, EC_CTL1, 4
  18.         SBCO tmp0, EC, EC_CTL2, 4
  19.         SBCO tmp0, EC, EC_CLR, 4
  20.  
  21.         //enable interrupts
  22.         MOV  tmp0, EC_EINT_V
  23.         SBCO tmp0, EC, EC_EINT, 4
  24.  
  25.         //start everything
  26.         MOV  tmp0, EC_CTL1_V
  27.         SBCO tmp0, EC, EC_CTL1, 4
  28.         MOV  tmp0, EC_CTL2_V
  29.         SBCO tmp0, EC, EC_CTL2, 4
  30.  
  31.         //check for interrupt
  32.         LBCO tmp0, EC, EC_FLG, 4
  33.         AND  tmp0, tmp0, 0x2
  34.         QBNE CHECK_ECAP, tmp0, 0x2
  35.         MOV  R31.b0, PRU0_ARM_INTERRUPT+16
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement