main.c 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*
  2. * Copyright (c) 2006-2024 RT-Thread Development Team
  3. * Copyright (c) 2019-2020, Arm Limited. All rights reserved.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0
  6. *
  7. * Change Logs:
  8. * Date Author Notes
  9. * 2019-10-24 Magicoe first version
  10. * 2020-01-10 Kevin/Karl Add PS demo
  11. * 2020-09-21 supperthomas fix the main.c
  12. *
  13. */
  14. #include <rtdevice.h>
  15. #include <rtthread.h>
  16. #include "drv_pin.h"
  17. #define LEDB_PIN ((4*32)+18)
  18. #define BUTTON_PIN ((0*32)+20)
  19. static void sw_pin_cb(void *args);
  20. int main(void)
  21. {
  22. #if defined(__CC_ARM)
  23. rt_kprintf("using armcc, version: %d\n", __ARMCC_VERSION);
  24. #elif defined(__clang__)
  25. rt_kprintf("using armclang, version: %d\n", __ARMCC_VERSION);
  26. #elif defined(__ICCARM__)
  27. rt_kprintf("using iccarm, version: %d\n", __VER__);
  28. #elif defined(__GNUC__)
  29. rt_kprintf("using gcc, version: %d.%d\n", __GNUC__, __GNUC_MINOR__);
  30. #endif
  31. rt_pin_mode(LEDB_PIN, PIN_MODE_OUTPUT); /* Set GPIO as Output */
  32. rt_pin_mode(BUTTON_PIN, PIN_MODE_INPUT_PULLUP);
  33. rt_pin_attach_irq(BUTTON_PIN, PIN_IRQ_MODE_FALLING, sw_pin_cb, RT_NULL);
  34. rt_pin_irq_enable(BUTTON_PIN, 1);
  35. rt_kprintf("MCXN236 HelloWorld\r\n");
  36. while (1)
  37. {
  38. rt_pin_write(LEDB_PIN, PIN_HIGH); /* Set GPIO output 1 */
  39. rt_thread_mdelay(500); /* Delay 500mS */
  40. rt_pin_write(LEDB_PIN, PIN_LOW); /* Set GPIO output 0 */
  41. rt_thread_mdelay(500); /* Delay 500mS */
  42. }
  43. }
  44. static void sw_pin_cb(void *args)
  45. {
  46. rt_kprintf("sw pressed\r\n");
  47. }
  48. /* end file*/