问题现象
json函数
用malloc函数动态分配内存,send_JSONpack函数用来打印字符串。
主函数里只有两句,141行不停打印JSON字符串,142行延时2秒。
串口打印结果
这里大概打印主函数循环打印19次,程序就会卡死(不卡死,malloc也会申请不到内存,同样打印不出字符串)。
解决办法
函数改动
这里定义一个数组(大小自己定,足够发字符串就行了),再定义一个指针指向数组,用以接收dumps函数生成的字符串。
jansson_firstpack_create做如上改动
串口打印正常
之前担心会不会发送不同长度的json包,比如先发送长包,在发送短包,USART2TxBuf会还有长包的一段字符,后来发现不影响。