我使用easylink配网时在函数里加了读取时间线程就配对不上网,线程去除(红色部分)就能正常配对连网

xu0801hua ( 楼主 ) 2017-4-18 17:25:36  显示全部楼层
/*************************************************/ }# q0 O$ K2 a. }2 E
* Function:  RTC初始化函数9 |# c* x9 y6 u, [
* parameter% j- v/ M! d/ K6 j
* Return: |" n: s1 c* s: R
* Modify:) I( z/ F! m% H' m: X
**************************************************/
4 G5 \* Z- s4 J* Bvoid RTC_Time_Init(void)2 ~$ {4 ?8 Z) ^/ X/ w5 f
{
" S3 l2 q0 T& {1 @3 \0 P  cur_time.year = 17; //设置时间
9 t; o+ G! s  S8 z9 [8 N5 Y  cur_time.month = 3;  N; }8 J/ F7 a1 o
  cur_time.date = 23;' y7 u! b( T" p$ e" Y
  cur_time.weekday = 4;
1 ?1 S/ T5 K- q/ l  cur_time.hr = 23;+ l8 L; {9 x7 G4 N, H
  cur_time.min = 58;
* n$ c& _+ ~6 g7 `$ |  cur_time.sec = 0;
' u, D- `/ C6 X* A0 Y  Time_Run.WeekDays_DATA =cur_time.weekday;
- N! t5 ^8 X; o! W, d2 d  MicoRtcSetTime(&cur_time);            //初始化 RTC 时钟的时间
/ @5 \# c* ~. P/ d) [}
) h( k& j8 V4 D; V/*************************************************
7 e; ?" C  M8 K+ O0 j * Function:  RTC时间允许读取函数- u! ]/ _1 n& C0 c4 d
* parameter( }2 T, |0 `- L) C3 s1 M7 N8 W3 Q! ]3 O
* Return
: z. V  B0 _/ o8 c, O * Modify:" ~6 p: v$ r7 p1 e3 w$ z5 C
**************************************************/8 y5 e$ n' B% ~: c: k
void RTC_Time_Run(unsigned int arg)% _. V4 M( o) X% L$ a
{0 v1 H2 R  Y5 n- F. H) i
  RTC_Time_Init();
* g* Z8 e2 J% a/ w9 o while(1)4 a, }! A+ B9 t9 x5 H1 a8 U
{
8 S0 f" d/ ^0 q# s& M0 i; {6 V9 P  MicoRtcGetTime(&cur_time); //返回新的时间值
# @6 Q" j" x- |' m/ x/ U( z }+ {; t* x6 j# V7 I
}$ G0 c% W+ f, _& ^! ]
int application_start( void )
0 d. k4 K# r9 ^# B5 J: D! I{
- e, M7 ]- h& n% R+ G2 K8 Y9 V# J( i  OSStatus err = kNoErr;
* {- v4 `8 ]& K) F& |) ?5 Z/ M3 d! h+ x3 n! k& \
  MicoInit();
! f# K0 W$ q( o' `. q& l. t. _8 x  X# @1 Z/ z) R2 b" K/ w
  /* Start MiCO system functions according to mico_config.h,
7 `5 V& g5 }2 W# m2 f& X3 v     Define macro MICO_WLAN_CONNECTION_ENABLE to enable wlan connection function9 J- U7 S1 ?, \/ p
     Select wlan configuration mode: MICO_CONFIG_MODE4 u5 x$ W1 N7 `& W8 i. N0 A( P
     Define EasyLink settings */
+ P% w/ P  |7 }3 K9 T  err = mico_system_init( mico_system_context_init( 0 ) );% x- e) L# f9 i* c  \
' z& V9 S- ]& r
  /* Register user function when wlan connection status is changed */
& n! T& d* W8 _# ]" h7 E( L  err = mico_system_notify_register( mico_notify_WIFI_STATUS_CHANGED, (void *)micoNotify_WifiStatusHandler, NULL );3 L) b7 m- o6 K
0 i) Y$ a/ P3 U( R; s
  /* Register user function when wlan connection is faile in one attempt */
7 ?$ q  B* ?  N0 c7 ?# S& g  err = mico_system_notify_register( mico_notify_WIFI_CONNECT_FAILED, (void *)micoNotify_ConnectFailedHandler, NULL );
( I' c. w+ \4 a! h
* q! i* E1 L4 ^  u  ext_rgb_led_log("rgb led conrtol demo(RGB_MODE)");
0 e& N! N3 y8 Z" P1 L  /*创建一个时间运行线程*/
% _& q$ ?4 d" ~* R' N  err = mico_rtos_create_thread(NULL,MICO_APPLICATION_PRIORITY,"RTC Time Run",RTC_Time_Run,200,NULL);//创建并启动一个新的线程3 e+ ?/ g' V# P: u0 r3 u
% |/ l+ g& h3 G: J
  /*初始化 RGB LED(P9813)*/
, O6 y, C/ V- y  rgb_led_init();
2 Z: _5 N8 _8 Q: b  MicoGpioOutputHigh(MICO_RF_LED);
' j- {$ j: @: w9 V* R5 j$ i  //while(1) {
- ~( O8 W0 S$ h8 {, w  /*RGB LED亮红灯,#FF0000*/
/ {$ Q- }. b1 ]+ z  //  rgb_led_open(255, 0, 0);
& ~$ {, `6 k; ], m7 i; |  // mico_thread_sleep(1);" ~9 c4 U# ?5 c  |! k  M  I; E
  /*RGB LED亮绿灯 #00FF00*/ $ ~# ]8 W' m+ A" {3 z
  //  rgb_led_open(0, 255, 0);
6 S# K/ {$ ]$ u* w( @  //  mico_thread_sleep(1); , ]4 r7 I) I$ I3 q4 N+ G
  /*RGB LED亮蓝灯,#0000FF*/
% G6 D! [, ]6 R) |* x7 E  //   rgb_led_open(0, 0, 255); " X+ p+ q& O4 a) Z/ N; M
  //  mico_thread_sleep(1);
/ g3 k6 }8 t! T4 Y, i7 ~3 R  // }*/$ f) D2 P- k* ^
  /*LED1初始化*/( U: u  n9 ?  s! v, ?
  err = RUN_LED_init();. R- w* t1 \5 n
0 O+ o5 j" d/ h% c/ Q  t
  /* 初始化 直流电机 */! ]' n8 F& Z0 V( e& T
  err = dc_motor_init();
/ c, a' u( M; O+ O# s
8 P/ H. n% B; n, _
6 }8 W5 u: ?  w$ w- E$ N( e. N  /*初始化 温度 湿度*/
' L3 `+ ~+ j: O2 }$ f* G  err = DHT11_Init();, J# ?" W( x* ~# ?0 x

0 \! E0 g2 B- v  V, n5 W# F$ P2 d/ P) t  H3 R8 _
  /*初始化 光发射二极管*/
& w8 Y- u5 U; @* v. r. U$ j  OLED_Init();3 l/ l6 x# W; n/ L* A
  OLED_ShowString(0, 2, " Le Ju Le Yun");: B8 P' K& B* K& N9 O

" M" C; w+ s; V  /*初始化光强传感器*/ # t' \* s. p% R7 G) g0 y
  err = light_sensor_init();
$ G1 h3 n0 s4 e5 U
* e* @( ?+ [# i0 m& T  /*按键初始化*/
& r* c$ c4 N5 n! w, j1 ]2 V  GPIO_KEY_Init();; @$ q4 ?6 U: B, o
- d' {1 P6 b; E2 E
  mico_rtos_delete_thread(NULL);
# l' t/ M- n' `  return err;
' ?! T( S7 @4 K# k  t% R}& n3 }, b) U* `$ k

. v! _2 C. A' |6 K# L' o% _  g: {0 i% m" ]. ]4 J7 P& @

1个回复

xu0801hua 发表于 2017-4-19 16:34:17
问题已经解决了,RTC_Time_Run休眠没有,easylink线程根本得不到CPU资源运行代码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则


关闭

站长推荐上一条 /7 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 粤ICP备14022951号-2

GMT+8, 2018-1-20 22:44 , Processed in 0.104224 second(s), 16 queries , Memcache On.

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表