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

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

许华 ( 楼主 ) 2017-4-18 17:25:36  只看该作者 倒序浏览
/*************************************************
9 V% d+ x4 |: r * Function:  RTC初始化函数
7 R/ q2 `) E% q7 M+ \ * parameter
$ C9 a5 ]8 K7 @, b * Return
4 i) V1 n7 x: R, V+ R * Modify:
- H- ]$ m  R0 I8 j4 m8 c**************************************************/
6 Z1 U4 Q5 e: A! z& yvoid RTC_Time_Init(void)
$ u6 ~0 a3 t& y{
: o- _3 S+ R% W  K9 p  {- {  cur_time.year = 17; //设置时间9 q! ?: A( j( B4 G# c1 p
  cur_time.month = 3;# W' U$ g  O- w* y
  cur_time.date = 23;
, k" a$ t- L7 n6 ]( [" e  D  cur_time.weekday = 4;
, J+ ]2 V) }$ r* Z( O  cur_time.hr = 23;. `4 {9 m; ]) l. d& p* s) f
  cur_time.min = 58;% o. x3 r9 ^, e! P  P
  cur_time.sec = 0;
1 Y+ d: w* y3 T! p5 O" }  Time_Run.WeekDays_DATA =cur_time.weekday;
  x* H7 `" ~2 `' N  MicoRtcSetTime(&cur_time);            //初始化 RTC 时钟的时间 / s% }( J7 E  r3 m$ o0 H: f
}3 A+ Z7 x1 q! J0 R1 t
/*************************************************
% [' F1 p6 R, L6 ~ * Function:  RTC时间允许读取函数
: f- X' H' S1 b9 ^7 V" F * parameter
6 n- m% T/ o7 ], l) m7 c: T& ? * Return/ I3 z+ K6 `: d
* Modify:/ l& P. ]! P2 b7 y+ v8 E5 i
**************************************************/
+ ~+ D1 \3 T/ u( [6 H6 X  @0 a( zvoid RTC_Time_Run(unsigned int arg)
/ l/ N8 i4 ], [) Z+ M/ J9 Z! E1 M) q" j{5 |" W  ~  d: c5 ?! g7 V8 z) a2 v
  RTC_Time_Init();
/ v0 p( D2 ]& M! j2 w( G, ^ while(1)
/ u+ k; Z. |) v {& Z2 B6 y1 F. y' y5 z& o
  MicoRtcGetTime(&cur_time); //返回新的时间值2 L  S) t0 `( ?: o- {
}) G8 n3 s/ P+ L; X/ \4 [
}
  |3 X6 Z! G$ e$ Q3 `int application_start( void ): j( q* ^5 H: ]6 D, V$ c
{ " b  J4 \' y! ]5 f$ ?; x- n1 o* ~
  OSStatus err = kNoErr;
/ T5 N5 _& k: w6 |: i* X' e
4 p3 M2 ^- |. U5 B1 ^* c  MicoInit();; s8 r$ @, }) A% {0 e" B

8 a/ ^) O  O- ?: N% W! s  /* Start MiCO system functions according to mico_config.h,
6 c8 r3 }1 T* B. Z* y     Define macro MICO_WLAN_CONNECTION_ENABLE to enable wlan connection function0 n% X+ k1 e  X% `' g
     Select wlan configuration mode: MICO_CONFIG_MODE
" ]7 i* y1 s% a     Define EasyLink settings */
* |( u8 t7 c# Z* s0 r  err = mico_system_init( mico_system_context_init( 0 ) );, Q0 O, b" E+ D
5 \, C* \) G2 e3 V
  /* Register user function when wlan connection status is changed */( n% q) ~! O+ Z7 p  A
  err = mico_system_notify_register( mico_notify_WIFI_STATUS_CHANGED, (void *)micoNotify_WifiStatusHandler, NULL );
4 y+ R6 T! Z& q* Z6 i  f* A* ?/ M  |1 }- P( d
  /* Register user function when wlan connection is faile in one attempt */
+ \# P! y1 Z1 ?! C! }  err = mico_system_notify_register( mico_notify_WIFI_CONNECT_FAILED, (void *)micoNotify_ConnectFailedHandler, NULL );
& X* g' {; Z# n, h/ \( M2 G* F 1 j5 V5 J  p* O+ _
  ext_rgb_led_log("rgb led conrtol demo(RGB_MODE)"); % ?  t1 b; n. f% P
  /*创建一个时间运行线程*/7 b, Z; p, e$ D  M+ a
  err = mico_rtos_create_thread(NULL,MICO_APPLICATION_PRIORITY,"RTC Time Run",RTC_Time_Run,200,NULL);//创建并启动一个新的线程% H* O7 [0 V4 `& S, a0 C+ g4 S
- q* \0 p8 x7 [# T1 j
  /*初始化 RGB LED(P9813)*/ # B, {- p" j! v6 F9 t* y4 y
  rgb_led_init();
( X5 f  S: \! c! Q7 g* r  v6 s6 C$ N; b  MicoGpioOutputHigh(MICO_RF_LED);
) z9 @+ j, B# T6 Z% \  //while(1) {
- h% Y. H$ G& e$ B0 N5 |! X, E; d  /*RGB LED亮红灯,#FF0000*/
- V- E  T7 p+ P& g( m6 `  //  rgb_led_open(255, 0, 0);
3 T9 W% l6 `$ a/ D) Z  // mico_thread_sleep(1);
2 l) g9 I6 K; [+ g  /*RGB LED亮绿灯 #00FF00*/
" w: Z) l+ f, g! i  //  rgb_led_open(0, 255, 0);
3 f, _4 z. g5 y9 |! l' x  //  mico_thread_sleep(1);
. N2 K9 Q' d3 H& v* j: ^1 b  /*RGB LED亮蓝灯,#0000FF*/   u- m" C+ {" E0 K9 m1 D: Y9 X
  //   rgb_led_open(0, 0, 255); ' R3 a3 Y" \# x' Q* A8 O' M
  //  mico_thread_sleep(1); 2 S' _& L" ~: H
  // }*/) K: P1 N& {( {; w2 k
  /*LED1初始化*/+ x, D, e  g! ~! o" q
  err = RUN_LED_init();! u0 A& M2 h! f& I* k

* m* E. y1 A/ y* d# P' T8 @' {$ Z  /* 初始化 直流电机 */
. |9 A. n2 q  `7 M% j+ q2 z" p  err = dc_motor_init(); " W- {3 G8 f) G+ C/ N

1 t' v; H4 ]7 S& K* R
8 n7 r; A! b& _2 @8 F' @  /*初始化 温度 湿度*/
- T# _1 ~$ a4 G' E: E  err = DHT11_Init();+ R' H) E% J+ F
4 C' p  }1 r# U
$ O8 B7 S* M5 Z/ }- t
  /*初始化 光发射二极管*/ , O: J* P% u5 ^. K
  OLED_Init();
5 [4 M3 f+ c6 W8 e( d6 q2 \  OLED_ShowString(0, 2, " Le Ju Le Yun");
8 k* [& r& t" \% p
2 q: W$ _/ `& D$ B- b. X  /*初始化光强传感器*/
6 d8 @, ^* N3 m( x& |) z* _  err = light_sensor_init(); ) |) B# e& W1 M, m% a6 l

6 }/ p0 k' p- v: s# K  /*按键初始化*/9 @8 f1 t0 q$ d" Y3 y9 Y$ T2 d8 F
  GPIO_KEY_Init();1 m' C1 e" h: w8 o$ A  a; J: H

+ V- H: @: s$ I! z# v  mico_rtos_delete_thread(NULL);
  m) k1 e' ^- ^) ]" ?  return err;8 G. E* c9 p. D3 d: `) ?5 h
}
9 f5 V  z. ~, [4 l% s) O: u! f
6 m8 ]( t) ]2 i& ~9 f2 W4 S  ~' R% B& m$ p7 t

1个回复

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

本版积分规则


关闭

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

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

GMT+8, 2025-12-15 14:44 , Processed in 0.976741 second(s), Total 60, Slave 43 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

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