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

xu0801hua ( 楼主 ) 2017-4-18 17:25:36  显示全部楼层
/*************************************************
7 A' k  H! w6 D5 z" l) _ * Function:  RTC初始化函数- A5 {$ H" o, A) n0 I9 H
* parameter8 e' u1 |. k5 w3 `' j. U8 E" o1 S- n
* Return( m7 i4 ~" Y' \5 P% K
* Modify:
( Z# {7 ~5 `+ }6 P9 O**************************************************/
1 R9 p/ h8 X6 P4 F8 j0 z) pvoid RTC_Time_Init(void)+ k, h% w* N$ n
{
; ?; s$ [% V4 a) W  cur_time.year = 17; //设置时间
4 E! U" g7 A! j  cur_time.month = 3;% D+ @. y2 q# b
  cur_time.date = 23;
# m$ {( `: V) ?  cur_time.weekday = 4;
: t0 N, C, H+ d- X  cur_time.hr = 23;
/ S7 A8 G* h6 D4 u  q4 R" e  cur_time.min = 58;
) y1 W* y# V) r  cur_time.sec = 0;2 N  \: S. ^8 l  H0 P6 ?
  Time_Run.WeekDays_DATA =cur_time.weekday;
" x5 p! N/ v9 n8 j( x; B  MicoRtcSetTime(&cur_time);            //初始化 RTC 时钟的时间
' A8 C$ k" U. I" i7 h' W9 c}, R0 o2 W% u4 L4 e& y
/*************************************************) t+ s% M& V" i2 E) B  Q
* Function:  RTC时间允许读取函数; h$ \6 b5 b) R7 }" P
* parameter0 s$ o; J9 Y4 m1 G' n: m
* Return
% I1 q( x/ s' ?3 n; K * Modify:2 O$ X0 [4 ], p8 b  F
**************************************************/
  w$ W# U2 c8 N2 B" N8 t  [void RTC_Time_Run(unsigned int arg)
- I, t4 }# y7 W) n( l{* G6 b7 r7 _, f- @; x
  RTC_Time_Init();1 m2 A+ S1 p( p6 B5 a  ]+ w& |2 _
while(1)
7 H4 {2 x2 h. U% ]& u6 {( s {- o9 y8 w  }2 c* F5 _
  MicoRtcGetTime(&cur_time); //返回新的时间值) W4 v) @8 J% p0 h: C
}
0 f. f8 u7 u; n4 D8 M4 ?2 u}! y1 h# {7 `( G
int application_start( void )
% w" ~0 F% ]' [{ - X% E- r2 v. l9 x, @7 m
  OSStatus err = kNoErr;% ^" N0 b- N$ }9 i$ d& H5 {$ V* z
$ }" g2 ?) z  _8 B* l- T5 s
  MicoInit();
2 b4 x" T$ w+ [2 s
! @0 E. `2 Y" @% ]0 a- P  /* Start MiCO system functions according to mico_config.h, ) k0 h+ |2 d# g1 d( W6 O/ ]
     Define macro MICO_WLAN_CONNECTION_ENABLE to enable wlan connection function
- x! x& M& ^6 L7 y/ K0 U$ ]5 @     Select wlan configuration mode: MICO_CONFIG_MODE
. O0 O& o6 o+ c' V     Define EasyLink settings */% H- R+ J+ Z/ K& x' c  D
  err = mico_system_init( mico_system_context_init( 0 ) );
6 t9 O0 G3 k. J2 B; @, r* i* |; Q# {7 H$ F" C4 S, {7 N! b
  /* Register user function when wlan connection status is changed */
* m" o" s  d/ T  err = mico_system_notify_register( mico_notify_WIFI_STATUS_CHANGED, (void *)micoNotify_WifiStatusHandler, NULL );
6 s" e' w2 m8 y8 q1 }& e5 M/ t, K4 @
! n; ?1 |8 F1 N/ L( N  /* Register user function when wlan connection is faile in one attempt */
0 v  C7 ]: s8 x" [% I. ^( _8 S& j  err = mico_system_notify_register( mico_notify_WIFI_CONNECT_FAILED, (void *)micoNotify_ConnectFailedHandler, NULL );
$ j( e3 x) W: y 5 ]8 J' J4 b; t: J: q; ]
  ext_rgb_led_log("rgb led conrtol demo(RGB_MODE)"); 2 o- ?  z0 j3 C* g% L
  /*创建一个时间运行线程*/
) g  t/ j, Z/ g2 ^) d' {  err = mico_rtos_create_thread(NULL,MICO_APPLICATION_PRIORITY,"RTC Time Run",RTC_Time_Run,200,NULL);//创建并启动一个新的线程
1 D- Y, K3 l# I; u  l8 D+ N4 ?! r# M  Q: y5 @- {
  /*初始化 RGB LED(P9813)*/ 2 M* {$ M3 Q0 O! {# N  S
  rgb_led_init();: Y+ f9 o! f9 D, q' k' A$ E0 H
  MicoGpioOutputHigh(MICO_RF_LED);% \# E7 u3 ^) d  n5 o
  //while(1) { & _. m7 f- |+ {4 b/ f: G
  /*RGB LED亮红灯,#FF0000*/
( F' M' @' V$ D2 U* W  //  rgb_led_open(255, 0, 0); ) a% R" U* X5 G$ t# F2 c' @& ]
  // mico_thread_sleep(1);3 D: w; F( m  M- h0 E
  /*RGB LED亮绿灯 #00FF00*/
& I3 k* e- g2 [7 D1 a$ O  //  rgb_led_open(0, 255, 0);   e& z/ k& T/ p; Z( c' @
  //  mico_thread_sleep(1);
  Y; p" S( H; D% g: A  /*RGB LED亮蓝灯,#0000FF*/ - o$ X- [" W. p" A1 i
  //   rgb_led_open(0, 0, 255);
  y: x; g& r/ W) H1 a+ ~* K  //  mico_thread_sleep(1);
( j% J' f4 i( O! T4 S  // }*/
: z4 b$ N, ?5 @  /*LED1初始化*/
9 _1 V% J) V# \3 D3 w  err = RUN_LED_init();2 I0 k) l: v' j1 e

6 `# z. k& O, n4 Y+ @  /* 初始化 直流电机 */
7 l4 U+ o5 a2 y$ i7 c  err = dc_motor_init();
" \2 e" @% y8 s6 H" F
' e6 c0 k( T1 c+ e: R/ R. Z7 L) H' o+ m# H2 t: ~$ z
  /*初始化 温度 湿度*/
7 L. ~% g" T. X) \  err = DHT11_Init();
2 q* `, d8 i: t& T; e$ ]& ?
8 g3 [2 ]: `* k. q2 K7 p' S8 _5 {9 \# A' r: ^- [
  /*初始化 光发射二极管*/
9 h6 W0 M) V! M# g  OLED_Init();
; |5 |4 {# D+ U5 Z5 }  OLED_ShowString(0, 2, " Le Ju Le Yun");5 Z( A( P0 C, l/ X; Q7 t/ _
, n- o3 R/ m  r" l$ x7 F9 o
  /*初始化光强传感器*/
0 w" y3 ?! k2 ~' W, v  err = light_sensor_init();
1 G4 t8 v9 X- R; m; v( D& }. \3 H, k
  /*按键初始化*/. ?4 R/ w0 }: o( D- ^
  GPIO_KEY_Init();8 |; i  |0 e: T$ o
: N) l& f. M  D
  mico_rtos_delete_thread(NULL);
4 n: [& R+ G" O8 i* R  return err;
4 Y8 E$ u# A8 P! S3 @! y}' m( [0 K: G! m3 m( f

5 T2 ~# U3 X3 j; L
6 G# b2 w  d: }, h. A9 ]9 x

1个回复

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

本版积分规则


关闭

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

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

GMT+8, 2017-9-20 04:50 , Processed in 0.081758 second(s), 16 queries , Memcache On.

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

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