json_queue.c 617 B

123456789101112131415161718192021222324252627282930313233
  1. #include "json_queue.h"
  2. #if 0
  3. //往队列中写入数据多处写一处读,所以调用该函数需要进入临界区
  4. void string_queue_send_json(uint8_t *string,uint32_t stringLength)
  5. {
  6. //将string打包为结构体信息
  7. StringInfo message;
  8. message.p=malloc(stringLength+1);
  9. memcpy(message.p,string,stringLength);
  10. uint8_t err;
  11. err=OSQPost(JsonQ,(void *)&message);
  12. switch(err)
  13. {
  14. case OS_ERR_NONE:
  15. break;
  16. case OS_ERR_Q_FULL:
  17. break;
  18. }
  19. }
  20. //从队列中读出数据string用完需要释放空间
  21. void string_queue_recv_json(uint8_t *string,uint32_t stringLength)
  22. {
  23. StringInfo *message;
  24. uint8_t err;
  25. message=OSQPend(JsonQ,100,&err);
  26. }
  27. #endif