1
0

main.c 1007 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /*
  2. * Copyright (c) 2019, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2019-05-05 jg1uaa the first version
  9. */
  10. #include <rtthread.h>
  11. #include <rthw.h>
  12. /* for Z111xP board (LED is connected to PIO3_5, low=ON) */
  13. #define IOCON_PIO3_5 HWREG32(0x40044048)
  14. #define GPIO3DIR HWREG32(0x50038000)
  15. #define GPIO3DATA_5 HWREG32(0x50030080)
  16. static void led_off(void)
  17. {
  18. GPIO3DATA_5 = 0x20;
  19. }
  20. static void led_on(void)
  21. {
  22. GPIO3DATA_5 = 0x00;
  23. }
  24. static void led_setup(void)
  25. {
  26. IOCON_PIO3_5 = 0xd0; // (default)
  27. GPIO3DIR = 0x20; // select output
  28. led_off();
  29. }
  30. static void led_demo(void)
  31. {
  32. led_setup();
  33. while (1) {
  34. led_on();
  35. rt_thread_delay(50); // 500msec, tick@100Hz
  36. led_off();
  37. rt_thread_delay(50);
  38. }
  39. }
  40. int main(int argc, char **argv)
  41. {
  42. rt_kprintf("Hello, world!\n");
  43. led_demo();
  44. /* NOTREACHED */
  45. return 0;
  46. }