TM1637_pio.c 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include <stdio.h>
  2. #include "pico/stdlib.h"
  3. #include "TM1637.h"
  4. #define SDA1_BASE 4
  5. #define SDA2_BASE 14
  6. #define MY1637_COLS 4
  7. int main()
  8. {
  9. char strbuf[MY1637_COLS+1];
  10. stdio_init_all();
  11. TM1637_t *tm1, *tm2;
  12. tm1 = TM1637_init(SDA1_BASE, MY1637_COLS, 2);
  13. tm2 = TM1637_init(SDA2_BASE, MY1637_COLS, 2);
  14. if( tm1 != NULL && tm2 != NULL) {
  15. TM1637_putchar(tm1, '1',false, 0);
  16. TM1637_putchar(tm1, '2',true , 1);
  17. TM1637_putchar(tm1, '3',false, 2);
  18. TM1637_putchar(tm1, '4',false, 3);
  19. TM1637_putchar(tm2, '1',false, 0);
  20. TM1637_putchar(tm2, '2',true , 1);
  21. TM1637_putchar(tm2, '3',false, 2);
  22. TM1637_putchar(tm2, '4',false, 3);
  23. sleep_ms(1000);
  24. TM1637_putstr(tm1, "12:98");
  25. TM1637_putstr(tm2, "00:88");
  26. sleep_ms(1000);
  27. int i = 0;
  28. while (true) {
  29. snprintf(strbuf, sizeof(strbuf),"%4d",i);
  30. TM1637_putstr(tm1, strbuf);
  31. TM1637_putstr(tm2, strbuf);
  32. if(++i > 9999) i =0;
  33. sleep_ms(1000);
  34. }
  35. }
  36. }