main.c 868 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include <rthw.h>
  2. #include <rtthread.h>
  3. #include <rtdevice.h>
  4. #define LED0_PIN 0
  5. #define LED1_PIN 1
  6. #define SW0_PIN 2
  7. #define SW1_PIN 3
  8. extern void sw0_isr(void *args);
  9. extern void sw1_isr(void *args);
  10. int main(void)
  11. {
  12. int count = 1;
  13. rt_pin_attach_irq(SW0_PIN, PIN_IRQ_MODE_RISING, sw0_isr, RT_NULL);
  14. rt_pin_attach_irq(SW1_PIN, PIN_IRQ_MODE_RISING, sw1_isr, RT_NULL);
  15. rt_pin_irq_enable(SW0_PIN, PIN_IRQ_ENABLE);
  16. rt_pin_irq_enable(SW1_PIN, PIN_IRQ_ENABLE);
  17. rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);
  18. rt_pin_mode(LED1_PIN, PIN_MODE_OUTPUT);
  19. while(count++)
  20. {
  21. rt_pin_write(LED0_PIN, PIN_HIGH);
  22. rt_pin_write(LED1_PIN, PIN_HIGH);
  23. rt_thread_mdelay(100);
  24. rt_pin_write(LED0_PIN, PIN_LOW);
  25. rt_pin_write(LED1_PIN, PIN_LOW);
  26. rt_thread_mdelay(100);
  27. }
  28. return RT_EOK;
  29. }