我正在学习使用AT Command,但是出现了问题,无法解决。
任何帮助,将不胜感激。
代码是:
void at_thread_entry()
{
temp_t *h_temp = &temp;
rt_uint32_t e;
struct tm t;
uint8_t result;
while(1)
{
if ( RT_EOK == rt_event_recv(&h_temp->event, 0x01, RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, RT_WAITING_FOREVER, &e) )
{
rt_thread_mdelay(1000);
at_response_t resp = RT_NULL;
resp = at_create_resp(512, 0, rt_tick_from_millisecond(5000));
if( !resp )
{
rt_kprintf("No memory for response structure!\r\n");
break;
}
if(at_exec_cmd(resp, "AT$$
TIME?") != RT_EOK)
{
rt_kprintf("at_exec_cmd error\r\n");
break;
}
else
{
at_resp_get_line(resp, 2);
//at_resp_parse_line_args_by_kw(resp, "
TIME?
[D/AT] recvline: 0000-0020: 0D 0A ..
[D/AT] recvline: 0000-0020: 24 24 54 49 4D 45 3A 20 30 2C 20 32 30 32 33 2D 30 31 2D 30 34 2C 31 34 3A 35 31 3A 31 34 2C 57
TIME: 0, 2023-01-04,14:51:14,W
[D/AT] recvline: 0020-0040: 45 44 0D 0A ED..
[D/AT] recvline: 0000-0020: 0D 0A ..
[D/AT] recvline: 0000-0020: 4F 4B 0D 0A OK..
resp:
Time : -559038737 -559038737--559038737--559038737 536915056:536915052:536915048
目前,所需的缓冲区数据根本没有进入“resp”结构。
因此无法解析与 at_resp_ 相关的内容。
已经几天了,我不知道问题出在哪里。
我想接收从 LTE 调制解调器接收到的时间信息。
如果你能给我一个关于如何解决这个问题的答案,我将不胜感激。
更多回帖