我使用easylink配网时在函数里加了读取时间线程就配对不上网,线程去除(红色部分)就能正常配对连网 - 问答 - 电子技术论坛 - 最好最受欢迎电子论坛!

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

许华 ( 楼主 ) 2017-4-18 17:25:36  显示全部楼层
/*************************************************
. f( }5 }! {' D0 x$ s  p; q * Function:  RTC初始化函数0 l" i* F* ]* n) x/ u1 a
* parameter
$ U4 g& i' H5 G4 C# `. v( }: U * Return: c* Z  F( s' U2 k6 p* @5 l
* Modify:
6 }" k$ x) L" W* p; g**************************************************/
$ Q/ a+ W3 N$ h" _1 Qvoid RTC_Time_Init(void)  A1 a4 r  @3 ^7 A4 c2 I: o* U
{" T" e) v9 J" X6 p. F2 _9 |
  cur_time.year = 17; //设置时间) G; g1 ]! s$ P) Z; b- _
  cur_time.month = 3;" Y8 o  G- v4 v% U0 |
  cur_time.date = 23;
( ^  S: P6 F( t  cur_time.weekday = 4;6 k* S+ E' ]% N# v0 @' h
  cur_time.hr = 23;
. m4 \9 q* u* N6 X  cur_time.min = 58;, s9 u: ]% R: F' A
  cur_time.sec = 0;# |; y# t0 B0 f: v
  Time_Run.WeekDays_DATA =cur_time.weekday;) B$ Z# b! c) ~2 q
  MicoRtcSetTime(&cur_time);            //初始化 RTC 时钟的时间 ! t2 ^. j& H. s' w7 H! G) k
}2 z/ [- v9 Q3 r6 _
/*************************************************
9 H& z6 l& k0 S- o' J! C2 A( S9 q * Function:  RTC时间允许读取函数: t! J9 g4 K) M0 `" N: P- l: _
* parameter, r) b& W( O1 z0 z; v
* Return8 M5 c5 N& j: h! J
* Modify:9 ]7 H/ p0 C; w0 V" g! N9 T
**************************************************/
  x+ n0 C* `6 Y% xvoid RTC_Time_Run(unsigned int arg)
+ W4 X" v2 K/ Z0 i0 o( F) X0 M( e{
" J7 [. V4 W) c! d# ?% O4 J0 B4 g  RTC_Time_Init();# D; p1 a. o4 E5 |' A! V3 Y
while(1)8 G9 Q6 m5 h$ @' D( W& l9 u( k
{
4 d6 d$ j8 T" x) }3 _7 `* }8 D) z  MicoRtcGetTime(&cur_time); //返回新的时间值" `2 N2 o3 u2 y- P# ^) g7 O
}- W7 M. ]- v* L' a, T7 s0 U/ a) p2 i
}, @4 X% k8 }6 v
int application_start( void )
$ i- U+ l' W5 P# f{ + T" C/ S" }; Y" m9 f8 S
  OSStatus err = kNoErr;
# |  E4 N2 o; r. @0 C7 G- Y2 `+ l$ j" F
  MicoInit();
# \& K: y9 @' B& k8 ?
( [" U, t# C6 b5 `) q5 |  /* Start MiCO system functions according to mico_config.h,
& F8 X! ~  U! r6 x' V     Define macro MICO_WLAN_CONNECTION_ENABLE to enable wlan connection function8 c6 n1 F5 c$ S: e$ M
     Select wlan configuration mode: MICO_CONFIG_MODE/ d0 Z0 r* t# [% r6 Y9 ~. _  D
     Define EasyLink settings */
( r, p6 n+ i- \, x! p. M) Z0 w: I  err = mico_system_init( mico_system_context_init( 0 ) );& ?5 E, I% ^+ |& q1 ?) @. [. C- H" M. @

0 T$ X" ~* J  V  /* Register user function when wlan connection status is changed */7 {' h: B- h& l% @8 t1 w- R) R
  err = mico_system_notify_register( mico_notify_WIFI_STATUS_CHANGED, (void *)micoNotify_WifiStatusHandler, NULL );
2 a; V# F* e. X0 e& H1 p! R& V3 W/ c$ V9 f$ V, `% @  m2 O' [
  /* Register user function when wlan connection is faile in one attempt */, J1 s0 @7 U3 L7 }8 Q9 b* b
  err = mico_system_notify_register( mico_notify_WIFI_CONNECT_FAILED, (void *)micoNotify_ConnectFailedHandler, NULL );( K. g9 F0 Q4 v

. j8 W' T( w( }6 R: u+ j2 h  ext_rgb_led_log("rgb led conrtol demo(RGB_MODE)"); ) s+ O9 J+ V" T  @5 K9 f
  /*创建一个时间运行线程*/1 K7 u- @1 y" `  T7 H8 y
  err = mico_rtos_create_thread(NULL,MICO_APPLICATION_PRIORITY,"RTC Time Run",RTC_Time_Run,200,NULL);//创建并启动一个新的线程5 q/ w7 r! D" Y$ F! ~) o
1 H( m& ~' F. C9 i5 w6 m
  /*初始化 RGB LED(P9813)*/ 0 k% U0 n8 Y- D
  rgb_led_init();
' [/ V5 a3 z5 i9 l- q+ o  MicoGpioOutputHigh(MICO_RF_LED);
+ f, g# [" U! P! P- m7 x6 c  //while(1) {
8 R4 A" g) K2 L. X  /*RGB LED亮红灯,#FF0000*/ # N3 \  c7 n; P$ K
  //  rgb_led_open(255, 0, 0);
  `& s* |) a0 \) f3 T  // mico_thread_sleep(1);# ~3 x9 y. B3 l  Q
  /*RGB LED亮绿灯 #00FF00*/ 9 z7 z4 e0 w5 ~9 A
  //  rgb_led_open(0, 255, 0);
4 I. R3 {( F4 W% Z8 s  //  mico_thread_sleep(1);
# w& Z3 ]2 M! a5 b7 Z  /*RGB LED亮蓝灯,#0000FF*/ 5 x4 ~6 b# c/ g- X+ x5 h2 t
  //   rgb_led_open(0, 0, 255);
4 j) f0 F# p, b  //  mico_thread_sleep(1);
6 l* n6 G7 `  r  ]7 z: N  // }*/. s4 _: B, F/ ]: _# i  q" \! f
  /*LED1初始化*/4 a' l9 [7 r$ N, w/ P6 a; B
  err = RUN_LED_init();
# W3 |- J  u3 I; [0 g! j8 N. T
, [, G5 m( z: \0 Z3 p4 l7 k4 b  /* 初始化 直流电机 */2 O, y8 m0 o) e% ]
  err = dc_motor_init();
. D4 w$ R' o6 E( x1 s  v
) L8 K+ R3 T* y' e( H. ]: y) V- n2 _; |( k
  /*初始化 温度 湿度*/ + ~8 `6 C4 D: w1 H9 Y2 n$ s
  err = DHT11_Init();
) \6 i1 G( x1 p7 I4 m. ]$ I! i6 z/ P- n) l
; b  O2 v$ W7 }* ~3 ^3 E: A
  /*初始化 光发射二极管*/ 2 q# J* k8 h+ a& |) R" Y: n
  OLED_Init();& I- f; j4 g! V" M# f+ U, W
  OLED_ShowString(0, 2, " Le Ju Le Yun");- M9 B' h7 k% I" h3 z+ o

0 p) L/ r! C' Y# n" H5 @  /*初始化光强传感器*/
5 W; \+ F& M2 b; M! |7 E  err = light_sensor_init(); " l* M1 m3 F4 X! o" R! w7 a) {1 S
* h& j6 e* G+ M( Z0 ~7 W
  /*按键初始化*/
  q( M" }% O5 t2 x  GPIO_KEY_Init();
% R7 E# B. @2 ^" L! C7 W
# h0 x8 E5 x6 I: R  V6 _  mico_rtos_delete_thread(NULL);
5 E$ ]8 X# C: _* a  return err;
* C8 ^* M/ G7 A5 q# T8 v. p}
6 d- {" H/ t1 [# `% W
5 W, {4 i. Y: @& w7 X
3 S# B  f) S( J: }

1个回复

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

本版积分规则


关闭

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

小黑屋|手机版|Archiver|电子发烧友 ( 湘ICP备2023018690号 )

GMT+8, 2024-3-29 01:21 , Processed in 0.489562 second(s), Total 63, Slave 44 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

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