main.c 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. #include <board.h>
  2. #include <rtthread.h>
  3. #include <drv_gpio.h>
  4. #include <drv_usbh.h>
  5. #include <dfs_fs.h>
  6. #include <unistd.h>
  7. #include <sys/socket.h>
  8. #include <netdb.h>
  9. #include <unistd.h>
  10. #include "web.h"
  11. #include "sys.h"
  12. #include "power.h"
  13. #include "cfg.h"
  14. #include "paras.h"
  15. #include "cascade.h"
  16. #include "snmp.h"
  17. #include "net.h"
  18. #include "wanning.h"
  19. #include "sensor.h"
  20. #include "gpio.h"
  21. #include "cascade_freemodbus.h"
  22. #include "cascade_modbus_tcp.h"
  23. //https://embedded-rd.blog.csdn.net/article/details/109643188
  24. extern void lwip_sys_init(void);
  25. #if 0
  26. static int net_init(const char *ip, int port)
  27. {
  28. #define SERVER_PORT 8080
  29. #define BUFF_SIZE 128
  30. int sock, client_fd;
  31. struct sockaddr_in server_addr, client_addr;
  32. socklen_t client_addr_len;
  33. char buff[BUFF_SIZE];
  34. int bytes_read;
  35. int ret;
  36. /* ??socket */
  37. sock = socket(AF_INET, SOCK_STREAM, 0);
  38. if (sock == -1) {
  39. rt_kprintf("socket create failed!\n");
  40. return -1;
  41. }
  42. /* ??????? */
  43. server_addr.sin_family = AF_INET;
  44. server_addr.sin_port = htons(port);
  45. server_addr.sin_addr.s_addr = inet_addr(ip);
  46. /* ??????? */
  47. ret = bind(sock, (struct sockaddr *)&server_addr, sizeof(server_addr));
  48. if (ret == -1) {
  49. rt_kprintf("bind failed!\n");
  50. goto __exit;
  51. }
  52. /* ?????? */
  53. ret = listen(sock, 5);
  54. if (ret == -1) {
  55. rt_kprintf("listen failed!\n");
  56. goto __exit;
  57. }
  58. rt_kprintf("TCP server waiting for client on port %d...\n", port);
  59. /* ??????? */
  60. client_addr_len = sizeof(client_addr);
  61. client_fd = accept(sock, (struct sockaddr *)&client_addr, &client_addr_len);
  62. if (client_fd == -1) {
  63. rt_kprintf("accept failed!\n");
  64. goto __exit;
  65. }
  66. rt_kprintf("Client accepted!\n");
  67. /* ????????? */
  68. while (1) {
  69. bytes_read = recv(client_fd, buff, BUFF_SIZE, 0);
  70. if (bytes_read <= 0) {
  71. rt_kprintf("recv failed, errno=%d\n", errno);
  72. break;
  73. }
  74. /* ????????????? */
  75. ret = send(client_fd, buff, bytes_read, 0);
  76. if (ret < 0) {
  77. rt_kprintf("send failed, errno=%d\n", errno);
  78. break;
  79. }
  80. }
  81. __exit:
  82. if (client_fd >= 0) close(client_fd);
  83. if (sock >= 0) close(sock);
  84. return ret;
  85. }
  86. #endif
  87. static int user_init(void)
  88. {
  89. sleep(5);
  90. paras_data_t *p=paras_get();
  91. modbus_data_t *cas=&p->cas;
  92. wanning_init();
  93. net_init();
  94. snmp2_init();
  95. power_init();
  96. #if SUPPORT_CASCADE_QMODBUS
  97. cascade_init();
  98. #else
  99. //cascade_freemodbus_init();
  100. #endif
  101. //
  102. sensor_init();
  103. web_init();
  104. //cascade_md_init();
  105. return 0;
  106. }
  107. #define LEDR_GPIO GET_PIN(D, 1)
  108. uint8_t flah_status = 1;
  109. void flash_clear()
  110. {
  111. gpio_set(LEDR_GPIO,1);
  112. }
  113. extern long list_thread(void);
  114. int main(void)
  115. {
  116. sys_init();
  117. user_init();
  118. int flag = 0;
  119. int count = 0;
  120. while (1) {
  121. //sensor_query();
  122. sleep(1);
  123. if(flah_status)
  124. {
  125. if(flag)
  126. {
  127. gpio_set(LEDR_GPIO,1);
  128. flag=0;
  129. }else
  130. {
  131. gpio_set(LEDR_GPIO,0);
  132. flag = 1;
  133. }
  134. }
  135. count++;
  136. if(count == 10)
  137. {
  138. count = 0;
  139. //list_thread();
  140. }
  141. }
  142. }