main.c 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #include "nim_config.h"
  2. #include "lwiplib.h"
  3. #include "lwipopts.h"
  4. #include "hlx.h"
  5. #include "tr_timer.h"
  6. #define LEN_IP_ADDR (4u)
  7. #define ASCII_NUM_IDX (48u)
  8. extern int flag ;
  9. void DeviceInit();
  10. void ConsoleTest();
  11. int main()
  12. {
  13. printf("======DSP START======\n");
  14. DeviceInit();
  15. for (;;)
  16. {
  17. InitWatchTime();
  18. touch_task();
  19. HlxMain();
  20. //ConsoleTest();
  21. }
  22. }
  23. /**
  24. * @title 全局中断
  25. */
  26. void InterruptInit(void)
  27. {
  28. // 初始化 DSP 中断控制器
  29. IntDSPINTCInit();
  30. // 使能 DSP 全局中断
  31. IntGlobalEnable();
  32. }
  33. void PSCIni()
  34. {
  35. PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);
  36. }
  37. /**
  38. * 设备初始化
  39. */
  40. void DeviceInit()
  41. {
  42. InterruptInit();
  43. PSCIni();
  44. ConsoleDeviceInit();//控制台初始化
  45. ConsolePuts("\r\n ============NIM DSP START===========.\r\n", -1);
  46. touch_deivce_init();
  47. lwip_device_init(); //以太网模块初始化
  48. HlxInit();
  49. }
  50. void ConsoleTest()
  51. {
  52. ConsoleRecvWait(10);
  53. if(ConsoleRecvFlag() == REV_OK)
  54. {
  55. unsigned char* rdata = ConsoleRecvData();
  56. int rlen = ConsoleRecvLen();
  57. //ConsolePuts(rdata, -1);
  58. if(rlen<20)
  59. {
  60. lwip_udp_send_gui(rdata, rlen);
  61. }
  62. else
  63. {
  64. char sdata[2000];
  65. int i = 0;
  66. for(i = 0;i<sizeof(sdata);i++)
  67. {
  68. sdata[i]=i%255;
  69. }
  70. lwip_udp_send_gui(sdata, sizeof(sdata));
  71. }
  72. ConsoleRecvClear();
  73. }
  74. }