fork download
  1. #include <stdio.h>
  2.  
  3. #define CONC_AT_CMD(A, B, C, D) A B C D
  4.  
  5. /* AT Head */
  6. #define AT_HEAD "AT"
  7. #define AT_HEAD_SIZE 2
  8.  
  9. #define AT_CMS_HEAD_CMD_PLUS "+"
  10. #define AT_CMS_EQUAL "="
  11. #define AT_CMS_SEMI ","
  12. #define AT_CMS_RESPONS_COLON ":"
  13. #define AT_CMS_TEST "?"
  14.  
  15. #define AT_CMS_END_CMD "\r"
  16. #define AT_CMS_START_END_RESP "\r\n"
  17. /* AT success execution */
  18. #define AT_CMS_OK "\r\rOK\r\n"
  19.  
  20. /* AT command names*/
  21. #define AT_CREATE_SOCKET "USOCR"
  22. #define AT_SET_SOCKET_OPTION "USOSO"
  23. #define AT_GET_SOCKET OPTION "USOGO"
  24. #define AT_CLOSE_SOCKET "USOCL"
  25. #define AT_GET_SOCKET_ERROR "USOER"
  26. #define AT_CONNECT_SOCKET "USOCO"
  27. #define AT_WRITE_SOCKET_DATA "USOWR"
  28. #define AT_READ_SOCKET_DATA "USORD"
  29. #define AT_WRITE_SOCKET_DATA_UDP "USOST"
  30. #define AT_READ_SOCKET_UDP "USORF"
  31. #define AT_SET_LISTENING_SOCKET "USOLI"
  32. #define AT_SOCKET_CONTROL "USOCTL"
  33.  
  34. /* AT execution commands */
  35. #define AT_CMD_CREATE_SOCKET AT_HEAD AT_CREATE_SOCKET AT_CMS_END_CMD
  36.  
  37. int main(void) {
  38. printf("%s", CONC_AT_CMD(AT_HEAD, AT_CMS_HEAD_CMD_PLUS, AT_CREATE_SOCKET, AT_CMS_EQUAL));
  39. return 0;
  40. }
  41.  
Success #stdin #stdout 0s 4512KB
stdin
Standard input is empty
stdout
AT+USOCR=