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

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

许华 ( 楼主 ) 2017-4-18 17:25:36  只看该作者 倒序浏览
/*************************************************
4 ^% x9 v* m: x4 B$ m' E. Q * Function:  RTC初始化函数, U/ v! J0 {1 e0 \- M* P/ ]" ?: i! T
* parameter
  t& X8 D5 m/ q; G * Return* {# @8 O1 _9 }" i1 t! [
* Modify:
5 E* A2 R+ {+ q$ }7 [8 l: \) L**************************************************/
; C% R+ w. |) w4 z1 {" uvoid RTC_Time_Init(void)
2 c: m$ b: D" ~{
) e' L0 U1 b+ @- a  cur_time.year = 17; //设置时间
; C2 p* j0 W3 j  cur_time.month = 3;7 G  Y1 C5 B. p  k/ t$ \
  cur_time.date = 23;, O& W  p, x  z$ ?0 O/ m$ K
  cur_time.weekday = 4;+ ]. ~, o- v% h+ H) I% ^
  cur_time.hr = 23;$ W; {7 e! p) i  F+ s* `
  cur_time.min = 58;/ @1 `; l' O; w3 [
  cur_time.sec = 0;$ X: i4 t  m' z$ H" O
  Time_Run.WeekDays_DATA =cur_time.weekday;
' l& P& ?# a7 ?  MicoRtcSetTime(&cur_time);            //初始化 RTC 时钟的时间 8 ?* a& t/ O) E0 X! g% G. \
}
' S  r; m- R! p, u/ n! B9 O/*************************************************
( J  ]( Y3 L  C  V: T0 k+ X+ { * Function:  RTC时间允许读取函数
- l  X. D/ ]1 `# u  w. [0 V" j * parameter
- r0 [: O+ {- s6 \" U! ]) d * Return
! E) \4 g% C7 L, V, b& S * Modify:7 P7 G7 e, ?1 [
**************************************************/
: R6 S) s! S  k2 Y2 o% F! svoid RTC_Time_Run(unsigned int arg)4 h) l7 K! S; ~( s- \% X
{
0 J' C% e* N- J1 b+ }# ~  RTC_Time_Init();. Y) F1 s% ~" W0 @
while(1)
/ }3 F* A1 |4 N. L5 N. E& p: e' _ {9 e! A! Z' b, [- ~
  MicoRtcGetTime(&cur_time); //返回新的时间值! t+ h9 P; n5 W# A
}- V/ I) G/ s; s! v( j+ Z2 v% z3 [
}
! E  Z6 P& E( i9 }+ _int application_start( void )5 i( x' H1 A" V) A
{ & {. b0 j4 _. `8 V- ^' l! i
  OSStatus err = kNoErr;
8 p2 ^, ~. j- {- K  `( S) H$ K! |
  MicoInit();0 A, [8 l, v8 \: A$ l

& K3 D. d+ _9 Y- [8 t$ X  /* Start MiCO system functions according to mico_config.h, # ]0 J$ S- V0 J0 C$ C0 Y, W
     Define macro MICO_WLAN_CONNECTION_ENABLE to enable wlan connection function* C* ~6 v$ M: e% m
     Select wlan configuration mode: MICO_CONFIG_MODE( A2 P0 v+ c- O  k" a6 r
     Define EasyLink settings */
0 \1 f8 c. e' ?  err = mico_system_init( mico_system_context_init( 0 ) );
! Q3 r$ e3 `, d( j' E; ^1 o" \' Z/ t% Z* V. O
  /* Register user function when wlan connection status is changed */
3 ^' Z6 {7 [6 D+ i  err = mico_system_notify_register( mico_notify_WIFI_STATUS_CHANGED, (void *)micoNotify_WifiStatusHandler, NULL );
. o- B9 |( i9 Q8 M. ~) K' ]% K. s$ Z3 I7 z' `( b+ K8 f
  /* Register user function when wlan connection is faile in one attempt */
& S3 }- N7 e3 M" _- f- p  err = mico_system_notify_register( mico_notify_WIFI_CONNECT_FAILED, (void *)micoNotify_ConnectFailedHandler, NULL );% R7 ~* V; u) q, Y

' ?5 K  [6 r9 P# j4 V: r  ext_rgb_led_log("rgb led conrtol demo(RGB_MODE)");
! b* D* n! p/ V7 Q3 S  /*创建一个时间运行线程*/3 Y, E: }! C( C! Q. z% e
  err = mico_rtos_create_thread(NULL,MICO_APPLICATION_PRIORITY,"RTC Time Run",RTC_Time_Run,200,NULL);//创建并启动一个新的线程
/ y! n4 A6 L- Z' K5 G, g  f' b% T  p) N
  /*初始化 RGB LED(P9813)*/
) p$ ?. d) @3 m7 X; F# s  rgb_led_init();9 A, m3 I" n# s# M5 n# B
  MicoGpioOutputHigh(MICO_RF_LED);
$ `) r6 ^/ j% j* j6 W& J! N3 o  //while(1) { - P6 a$ R. f! E* A  A& T: z
  /*RGB LED亮红灯,#FF0000*/
6 \* }3 j" F, v3 Y$ ^# n7 q2 ?  //  rgb_led_open(255, 0, 0); % M/ H$ P) r  X+ V2 D( \1 H
  // mico_thread_sleep(1);' E+ H3 J. H2 }/ N( V& O+ f
  /*RGB LED亮绿灯 #00FF00*/ 6 F/ `4 a( h+ [4 F- d$ F
  //  rgb_led_open(0, 255, 0);
1 n3 m; e$ `5 ~# w2 l3 a4 q  //  mico_thread_sleep(1); 7 J4 [8 l, A4 S& G# n
  /*RGB LED亮蓝灯,#0000FF*/
8 E4 J  G4 ?! [' o6 O6 @! Z  //   rgb_led_open(0, 0, 255);
8 J9 j; V$ O1 W3 b: e  //  mico_thread_sleep(1);   d# @1 K* U/ L5 d7 N) J+ E
  // }*/+ f5 d( g, {! K7 k
  /*LED1初始化*/
, p5 \. y6 n2 `6 Z7 D# M$ S  err = RUN_LED_init();
5 t. B- p% ^8 u5 z; k5 K, ]8 j5 Z( _' q. B3 L$ O5 Z. {( ]" G
  /* 初始化 直流电机 *// V# _* \, q0 z2 D! I- z- y! d
  err = dc_motor_init();
5 |# ]$ ~+ _! o. C) L  m5 }2 _1 f5 T, }; }  @
8 Y0 v+ R  M9 W; P- z+ o$ z, H8 V
  /*初始化 温度 湿度*/
3 |6 `- S7 }/ K1 G  {9 E  err = DHT11_Init();* B, f" g9 N% C8 f* R# t. \! j- C
' h# _" d- z3 s

7 b" I. F3 `  c  /*初始化 光发射二极管*/ ' @  H6 R& U: p8 N- [8 |4 Q% {
  OLED_Init();
% c: c; |7 u. c# X2 u4 ]& b+ B0 f/ P  OLED_ShowString(0, 2, " Le Ju Le Yun");
& u# i# _: e% E( C, f: [5 D
/ r" j% T) [+ K3 @  /*初始化光强传感器*/
& P) t) l$ r: u% u1 @  err = light_sensor_init(); / P6 e- G6 J, U; |

% m6 ?4 }; ?+ u4 G- x( v  /*按键初始化*/- A- d' f  D2 U9 l* A3 a
  GPIO_KEY_Init();) M3 o/ v! D; N

5 f" a" |* j% w  mico_rtos_delete_thread(NULL);
; a* H  u  @, j+ `4 Q  return err;
* _  k2 ]5 t/ Y. H}" K. n( e" z  u& R
! k7 u# f$ x! p' [  m
& v. _6 Z+ X5 E; G; ]+ t, s

1个回复

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

本版积分规则


关闭

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

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

GMT+8, 2024-4-28 06:48 , Processed in 0.563013 second(s), Total 56, Slave 39 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

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