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

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

许华 ( 楼主 ) 2017-4-18 17:25:36  显示全部楼层 倒序浏览
/*************************************************
% g4 R9 S' H% S* q * Function:  RTC初始化函数6 K+ c, Y4 V; k& ]
* parameter
% D8 l- r  h% j* H" X * Return5 e; A- M7 L% i6 s# t
* Modify:# B4 c9 N7 A. u3 F1 H- ^
**************************************************/
% k# v7 R8 @0 Q5 k! q/ {void RTC_Time_Init(void)* R& _7 e: e8 m) B4 V1 n
{
4 X/ V3 Z0 s* u' \  cur_time.year = 17; //设置时间
7 W) g( A# D2 r  cur_time.month = 3;
. G6 z+ }2 ^7 B* p) s  cur_time.date = 23;2 A% A4 {6 S' I1 }7 a$ ]. A& }" n+ Y- b# t
  cur_time.weekday = 4;) ~2 j) q+ W( F
  cur_time.hr = 23;& S& q8 i% S2 Y: {$ W. D
  cur_time.min = 58;# f* }/ l2 S! P( i7 A
  cur_time.sec = 0;; s/ E9 ?/ y0 p$ b
  Time_Run.WeekDays_DATA =cur_time.weekday;
( [9 J/ k7 e0 x+ ?3 t& o  MicoRtcSetTime(&cur_time);            //初始化 RTC 时钟的时间
. N0 F( U& {6 i$ i7 @9 X' s  \+ F}
# D+ j; d$ \5 j" Z4 S: n& C/*************************************************$ `* P/ w! E# [6 R8 G) k  `! j
* Function:  RTC时间允许读取函数: P$ R) H. N1 o& @
* parameter
$ K! i' ?) k) ^2 r- Q$ q5 z2 r1 H1 e * Return
8 S2 N. z8 ~# s3 @: B9 | * Modify:4 `: N# ~) X( u4 ^6 W% A: i
**************************************************/
2 O# \8 ~/ D" F* m9 \7 K- T) G7 r8 Avoid RTC_Time_Run(unsigned int arg). `9 ~3 B* w( q& b
{
! l- G; t5 F: O+ }8 P; J5 u  RTC_Time_Init();
) P. j. F# O' ?6 d. J while(1)
) o+ A- c" `! T0 o/ i  { {5 z: t% \8 Z+ q6 V0 E$ I* q
  MicoRtcGetTime(&cur_time); //返回新的时间值
* M& ~/ P) X- q1 X; k }
9 b9 \/ g( A$ o8 g  t6 s# }# h}
6 O$ G" }8 W: b# Z" O" P9 Kint application_start( void )
  d4 X) p# r7 f{
# r2 Z& U+ u: i3 c( N  F, Y" m: E  OSStatus err = kNoErr;- O- }; j5 n, a/ S" ?

# U/ F# m: o# ?2 X0 k) `  MicoInit();8 v8 B  b+ p* t' S/ U8 z9 T* v# z
3 ?# \) b6 q) f3 ^, o# [
  /* Start MiCO system functions according to mico_config.h, 5 D* _+ S1 e8 {
     Define macro MICO_WLAN_CONNECTION_ENABLE to enable wlan connection function+ b5 I! x  s2 i4 r* a0 b( T
     Select wlan configuration mode: MICO_CONFIG_MODE, R# g2 s/ a* ^
     Define EasyLink settings */
0 G; F  X& j, P- R  u  err = mico_system_init( mico_system_context_init( 0 ) );% E" @0 t. }/ {3 x
' ~* r+ B( y7 D$ c- _2 ^. }; [+ k; j
  /* Register user function when wlan connection status is changed */
) K9 ?& R7 M6 x  err = mico_system_notify_register( mico_notify_WIFI_STATUS_CHANGED, (void *)micoNotify_WifiStatusHandler, NULL );
+ i0 g' L& y& [+ n3 ?
7 `; \0 t; [7 y  B  /* Register user function when wlan connection is faile in one attempt */
' p0 ^3 H) g  a6 F  err = mico_system_notify_register( mico_notify_WIFI_CONNECT_FAILED, (void *)micoNotify_ConnectFailedHandler, NULL );
  b) p4 p, Y9 }: S2 F' f; i- ` & \$ n. b( a+ v4 K. R* Y1 }
  ext_rgb_led_log("rgb led conrtol demo(RGB_MODE)");
  r- W( x! ~8 d* G4 {% {( b  /*创建一个时间运行线程*/
3 z  B* ]' ~: [* s6 Y  err = mico_rtos_create_thread(NULL,MICO_APPLICATION_PRIORITY,"RTC Time Run",RTC_Time_Run,200,NULL);//创建并启动一个新的线程
3 H% p  i0 D- [6 o& B" q& A( c  b) N" J+ X; e
  /*初始化 RGB LED(P9813)*/
, Z9 b  A+ M% B  rgb_led_init();
$ Q! |, I& `8 Q8 r9 ~1 E  MicoGpioOutputHigh(MICO_RF_LED);
) W: Z3 N$ K. Z4 U  //while(1) { 9 k- z+ i, _4 J$ z" e% \
  /*RGB LED亮红灯,#FF0000*/ 7 N6 j1 g, [7 Y
  //  rgb_led_open(255, 0, 0); / V. q7 C. U7 X) H; Y( v
  // mico_thread_sleep(1);
9 c$ D: |7 T0 j  /*RGB LED亮绿灯 #00FF00*/
2 R! @, w. y* [1 X6 Z  //  rgb_led_open(0, 255, 0); ) C3 E" n# w7 z/ s
  //  mico_thread_sleep(1);
( L3 k% }: d1 p5 i! f# `  /*RGB LED亮蓝灯,#0000FF*/ ! S0 s& ?8 S) O1 K  @
  //   rgb_led_open(0, 0, 255);
+ G+ `2 e. b9 I. I. v  //  mico_thread_sleep(1); $ O/ ~" Z3 }/ D* R0 Y, X
  // }*/
4 J4 V4 j$ S8 t5 @  /*LED1初始化*/
6 |5 n) M+ M1 r, Y" @( }  err = RUN_LED_init();" m$ }: ~, l. `9 K. J
+ C/ D# F4 u3 Y4 D! |9 a2 u: Y- U& j
  /* 初始化 直流电机 */
, D6 J/ A$ m9 ~  err = dc_motor_init(); 6 E3 x$ `/ ~6 g5 K( N
! B! X, `) w3 D/ N

: g8 _9 [; B. n( P, C- h+ O& A+ B+ [  /*初始化 温度 湿度*/ 5 x* V1 T3 J3 Z% J+ i6 _
  err = DHT11_Init();" a4 }+ n% G: Y  W% T

) Z! v0 L+ t4 ~5 D5 m( t3 N' }" r2 a0 b7 `7 U$ a1 U; e4 c
  /*初始化 光发射二极管*/ 7 q. R& z9 u% K0 {9 ^5 P
  OLED_Init();
( b" C$ A- f/ v; }  OLED_ShowString(0, 2, " Le Ju Le Yun");
% u( M& ~4 [2 `; n" q5 g7 O" C$ _6 k1 b5 y
  /*初始化光强传感器*/ # F: P/ E) l( K7 e
  err = light_sensor_init();
( z/ M5 o) \: M% X* @' o' J  p1 N& F; G9 t( G3 _$ {
  /*按键初始化*/
) |9 X' ?& ^- N  GPIO_KEY_Init();
4 X* I+ P' E1 {& D; h  _# s+ I5 V& c3 }2 `
  mico_rtos_delete_thread(NULL);
# N+ q3 z/ }3 i; n* g* w- u  return err;6 v0 A7 D( \2 E$ h* ]
}
, T* ~" Z+ h7 w+ m0 q9 k) J
- B6 a* d/ N- [( E! y) ~
5 M2 f. n) o/ K1 {6 g+ m0 B+ t

1个回复

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

本版积分规则


关闭

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

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

GMT+8, 2024-6-3 03:23 , Processed in 1.107197 second(s), Total 65, Slave 48 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

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