@@ -469,7 +469,7 @@ int at_client_obj_wait_connect(at_client_t client, rt_uint32_t timeout)
469469 return - RT_ERROR ;
470470 }
471471
472- resp = at_create_resp (64 , 0 , rt_tick_from_millisecond (1000 ));
472+ resp = at_create_resp (64 , 0 , rt_tick_from_millisecond (300 ));
473473 if (resp == RT_NULL )
474474 {
475475 LOG_E ("no memory for AT client(%s) response object." , client -> device -> parent .name );
@@ -700,20 +700,21 @@ at_client_t at_client_get(const char *dev_name)
700700 RT_ASSERT (dev_name );
701701
702702 rt_slist_t * node ;
703- at_client_t client = RT_NULL ;
703+ at_client_t client ;
704704
705705 rt_base_t level = rt_hw_interrupt_disable ();
706706 rt_slist_for_each (node , & g_at_client_list )
707707 {
708708 client = rt_slist_entry (node , struct at_client , list );
709709 if (rt_strcmp (client -> device -> parent .name , dev_name ) == 0 )
710710 {
711- break ;
711+ rt_hw_interrupt_enable (level );
712+ return client ;
712713 }
713714 }
714715 rt_hw_interrupt_enable (level );
715716
716- return client ;
717+ return RT_NULL ;
717718}
718719
719720/**
@@ -726,7 +727,10 @@ at_client_t at_client_get_first(void)
726727 at_client_t client = RT_NULL ;
727728
728729 rt_base_t level = rt_hw_interrupt_disable ();
729- client = rt_slist_first_entry (& g_at_client_list , struct at_client , list );
730+ if (!rt_slist_isempty (& g_at_client_list ))
731+ {
732+ client = rt_slist_first_entry (& g_at_client_list , struct at_client , list );
733+ }
730734 rt_hw_interrupt_enable (level );
731735
732736 return client ;
@@ -956,8 +960,7 @@ static int at_client_para_init(at_client_t client)
956960 (void (* )(void * parameter ))client_parser ,
957961 client ,
958962 1024 + 512 ,
959- 9 ,
960- /* RT_THREAD_PRIORITY_MAX / 3 - 1,*/
963+ RT_THREAD_PRIORITY_MAX / 3 - 1 ,
961964 5 );
962965 if (client -> parser == RT_NULL )
963966 {
0 commit comments