Advertisement
Guest User

Untitled

a guest
May 18th, 2019
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. #define dataPin 4
  2. #define outPin 6
  3. #define MICROSECOND_NOPS "nop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\nnop\n" //Assembly for 1/6 microsecond using clock pulses
  4.  
  5. void setup()
  6.  
  7. {
  8. pinMode(outPin, OUTPUT);
  9. pinMode(dataPin, INPUT);
  10. attachInterrupt(digitalPinToInterrupt(dataPin), falling_edge, FALLING); //attach interrupt function
  11. }
  12.  
  13. void loop()
  14. {
  15. //empty
  16. }
  17.  
  18. void falling_edge()
  19. {
  20. asm volatile( MICROSECOND_NOPS MICROSECOND_NOPS
  21. MICROSECOND_NOPS MICROSECOND_NOPS
  22. MICROSECOND_NOPS MICROSECOND_NOPS
  23. MICROSECOND_NOPS MICROSECOND_NOPS
  24. MICROSECOND_NOPS MICROSECOND_NOPS
  25. MICROSECOND_NOPS MICROSECOND_NOPS );
  26. digitalReadFast(dataPin)?
  27. digitalWriteFast(outPin, HIGH):
  28. digitalWriteFast(outPin, LOW);
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement