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

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

许华 ( 楼主 ) 2017-4-18 17:25:36  只看该作者 倒序浏览
/*************************************************( n$ O% e, I8 X4 I+ W, j
* Function:  RTC初始化函数6 m9 N' g) e& [) z5 [& e0 B: K
* parameter
! E% g. Y. P* W# }* t6 B * Return
$ G. N" D7 m9 U, k! K * Modify:5 C+ D+ h0 A2 h/ N  g
**************************************************/
7 K+ x3 W; g' l- {) J4 J5 ^) u' svoid RTC_Time_Init(void)
# S/ e5 t% C/ D: k& V; C8 h6 P! n; }{/ O7 V1 N. m* a4 s5 E
  cur_time.year = 17; //设置时间, E+ ~* X) Q+ s
  cur_time.month = 3;
  R$ T! i$ G* p" ~! j+ q  cur_time.date = 23;- M- |/ ~9 y! p, y- C. l
  cur_time.weekday = 4;
2 ?3 L; w3 |% w- Y- p$ {  cur_time.hr = 23;
! ^) F9 g+ w/ H. F: W  cur_time.min = 58;6 {8 H6 u1 }# ^6 t# F6 U2 x
  cur_time.sec = 0;
; ]: b5 N6 ^3 u8 E; x" \  Time_Run.WeekDays_DATA =cur_time.weekday;" M0 M7 l, @/ \- |0 ~8 q
  MicoRtcSetTime(&cur_time);            //初始化 RTC 时钟的时间
$ V" y, g) z+ k. ]$ f}
# U! q5 j6 h7 K0 |3 G8 B0 [( o/*************************************************2 W" {) @+ [& K$ i1 v
* Function:  RTC时间允许读取函数
( y7 z7 `8 P, N4 `# B1 U2 { * parameter1 N" K# `' ^2 U) [
* Return
3 f! b3 _( Q- E, P' L# @ * Modify:
; X2 N, ~& a( K**************************************************// K7 S" w, o3 H2 ^% N' `
void RTC_Time_Run(unsigned int arg)( U0 E3 r' N4 P* ?: n: I' N6 G
{
+ D- D$ ~+ V, A! h* \! a; f  RTC_Time_Init();" e6 O* o0 I. H( a/ ?
while(1)
8 L, S0 ^+ z9 D) ^! b. l" e {
/ m% V0 M! Y  R  MicoRtcGetTime(&cur_time); //返回新的时间值
% I" r, `: ^7 r' w* }1 r8 i' `; B }! p1 f8 J) \# o+ Q; I& ^" {8 a/ {) P
}
. j$ W1 w5 A, P3 Q: J1 O* ?& oint application_start( void )
* \* V$ G8 {* A0 W0 w9 c{ 8 N1 @1 J$ ~% j8 G9 A  Z  K# i
  OSStatus err = kNoErr;4 D2 L6 [* j6 @( D* h* w

3 y' L6 O- A% j. V: P0 L  MicoInit();5 X) }1 u5 i9 K: |* M: j
1 H( {8 A+ s0 }' Q* G
  /* Start MiCO system functions according to mico_config.h,
+ d" f. w! i2 u7 Z& e4 K     Define macro MICO_WLAN_CONNECTION_ENABLE to enable wlan connection function
# s' w  H2 T; C9 y. m+ O; T( J9 r     Select wlan configuration mode: MICO_CONFIG_MODE( X" n* z- X6 n) y
     Define EasyLink settings */9 P* C( \9 V+ V" |6 P7 U2 ]: R. M
  err = mico_system_init( mico_system_context_init( 0 ) );
4 q0 r! N- ^- t6 w' F6 q2 ]1 c0 f( q
  /* Register user function when wlan connection status is changed */
- p! g% p3 `  J$ t  err = mico_system_notify_register( mico_notify_WIFI_STATUS_CHANGED, (void *)micoNotify_WifiStatusHandler, NULL );
6 e) b+ t8 z* s  J
, ~* @- {" f& m: W9 F  /* Register user function when wlan connection is faile in one attempt */. Y4 I& `; E5 {2 Q# o% u+ N% N
  err = mico_system_notify_register( mico_notify_WIFI_CONNECT_FAILED, (void *)micoNotify_ConnectFailedHandler, NULL );  e. D. d! V) C3 x0 |; h

2 l: B) z( v) X* L# ?" f* a0 s  ext_rgb_led_log("rgb led conrtol demo(RGB_MODE)");   _- n7 l, V. j
  /*创建一个时间运行线程*/0 @- l6 Z4 t& u5 e0 p
  err = mico_rtos_create_thread(NULL,MICO_APPLICATION_PRIORITY,"RTC Time Run",RTC_Time_Run,200,NULL);//创建并启动一个新的线程
' t9 Y! v& q, l+ t
7 B9 E; @# Y; S) I7 f  /*初始化 RGB LED(P9813)*/ # Z/ ^+ H6 I  c- e  A2 c1 {
  rgb_led_init();! z+ e+ A' F% \4 u- f, W* }
  MicoGpioOutputHigh(MICO_RF_LED);9 I; L: E& }' K: D7 d* S
  //while(1) { ! N; ^+ y) y% _/ t+ d( }
  /*RGB LED亮红灯,#FF0000*/   u8 h) H( D' U, K& ~" A
  //  rgb_led_open(255, 0, 0);
* z) l4 K( C/ v3 R7 n  // mico_thread_sleep(1);
) q4 z) K  Z; i  /*RGB LED亮绿灯 #00FF00*/
5 e4 Z+ h& |# `/ _% T  //  rgb_led_open(0, 255, 0); $ E$ M4 ~, j" U, W; C$ V* X8 r
  //  mico_thread_sleep(1); . ^! M, r: n# O! |/ K$ a4 g
  /*RGB LED亮蓝灯,#0000FF*/
7 n3 k( C1 b* A* q' o5 O$ v" n  //   rgb_led_open(0, 0, 255);   Q- ]2 H3 w5 ]
  //  mico_thread_sleep(1); 9 C1 s+ C; m! z% r+ f# P# |' H
  // }*/
/ [& B' K  T. x. I" b  /*LED1初始化*/
5 d/ U! b! |7 Y* H+ F* k" ^0 U  err = RUN_LED_init();# p6 g4 d1 i+ I# f  D# [( P% z
: |# d+ \" [' Z7 q5 u2 M/ b. ~# c
  /* 初始化 直流电机 */, t& y" |. l8 P  h" f
  err = dc_motor_init();
7 D0 p; t) x- [/ B
  L) E4 g- P8 l! x/ M6 @$ C7 N$ V7 S0 H" i- ]5 I: g/ I
  /*初始化 温度 湿度*/ $ ^% e) `" B5 d1 L7 t
  err = DHT11_Init();
8 \1 f+ P' O+ _- ^
2 x7 T0 C: h: G$ t
! X1 _) ^5 }( z4 h, \3 Q  /*初始化 光发射二极管*/ . `1 a* f7 d% w/ a! J1 P% N
  OLED_Init();6 ], V& h" H0 M9 L5 F* l. m
  OLED_ShowString(0, 2, " Le Ju Le Yun");
- i4 K& R: r, U5 S7 h4 y. h7 F# w- j3 p
  /*初始化光强传感器*/ , q6 l1 e' A* g% g  v3 c" K
  err = light_sensor_init(); 8 |4 J1 c0 b) }3 j

+ h( O# Q8 M- h7 d( C2 x, \  /*按键初始化*/
% {, v0 @% W% h) C% K  GPIO_KEY_Init();
1 V" X' H6 h" M. j; ]/ |8 W- r6 a9 D# K
  mico_rtos_delete_thread(NULL);, W  c0 p! P( b" {0 S7 y
  return err;/ I+ r" }4 w5 U+ }6 d
}
# W  H6 E8 a2 |# [! J
' z' t/ K3 [  D# Z9 k) h  f; w# }

1个回复

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

本版积分规则


关闭

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

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

GMT+8, 2024-5-20 16:05 , Processed in 0.407087 second(s), Total 38, Slave 28 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

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