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

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

许华 ( 楼主 ) 2017-4-18 17:25:36  只看该作者 倒序浏览
/*************************************************. P5 e3 Q" p* d  x/ b1 M/ {  |
* Function:  RTC初始化函数
) q  S  X( u) u- f2 F) ~2 }# P * parameter! {% p/ w9 K& Y( D  n; f/ _; M
* Return
) N. p" A+ K8 |. V/ ] * Modify:: A5 n' X7 `/ n9 k. m! }1 D
**************************************************/
4 m: @. @( C& {% Y1 v5 gvoid RTC_Time_Init(void), N' t+ t9 t! _
{
, S9 ~+ J% ^) ^( s+ f2 B* p  cur_time.year = 17; //设置时间
2 J( @/ S: T$ B# z" D0 z  cur_time.month = 3;
9 E8 Z+ K: m/ A$ ]6 {$ |  cur_time.date = 23;1 J7 e1 e3 _; G% B* r  i* o
  cur_time.weekday = 4;4 m0 q, o& ^( x) X$ X! v. I
  cur_time.hr = 23;
; I) N5 ^* S) s( a7 y1 n  cur_time.min = 58;6 c  M5 U$ W0 i
  cur_time.sec = 0;6 k: [8 g1 I* b$ r, [; `& w
  Time_Run.WeekDays_DATA =cur_time.weekday;
+ ], I1 F8 q& t6 y6 e% B  MicoRtcSetTime(&cur_time);            //初始化 RTC 时钟的时间 # e/ ^, g! U' Y0 ?2 C- c
}
; |" z6 y2 X0 J/*************************************************
; c  t* `7 o2 H) z * Function:  RTC时间允许读取函数& B/ q/ H) P( q7 D* l2 W. P
* parameter
3 ^: x/ m) N9 f' f6 x+ S7 ] * Return
' U4 h6 ]: N) B- ^3 ^, T6 _) m& D * Modify:8 n6 U) |: z( L4 F+ E3 }+ n
**************************************************/
1 {( D$ C9 D3 B0 y) N1 }void RTC_Time_Run(unsigned int arg)
" k3 e& \: P5 J2 m+ i# q, r{& P7 d4 N! z2 t, g4 _
  RTC_Time_Init();
5 ?* f+ k' d( U4 g while(1)* G$ _- k, R& a
{! W# Y1 ^' E2 k- Y5 @
  MicoRtcGetTime(&cur_time); //返回新的时间值
, R0 S0 a0 q2 m$ N }1 ^/ W- C5 \  C
}
: I! C4 T1 F' ~) |int application_start( void )
0 S) a0 Y4 T  ~- e6 z  g6 p* g  ]{ 1 l9 \1 j& x% D
  OSStatus err = kNoErr;3 V. D- ~! r. R: r2 ^
" O* C7 y; n2 L6 s$ D8 D1 r
  MicoInit();
" T, k6 `4 q& I' T2 ?. N. w" ?
6 `* p  o7 [1 D3 G+ }5 h1 j  /* Start MiCO system functions according to mico_config.h, ( o; I! _6 [8 P' z/ _  r
     Define macro MICO_WLAN_CONNECTION_ENABLE to enable wlan connection function: e9 T, e/ {6 G) M6 m9 N
     Select wlan configuration mode: MICO_CONFIG_MODE
0 Y* K! B* o/ |: W     Define EasyLink settings */( N, j2 Q# [0 M
  err = mico_system_init( mico_system_context_init( 0 ) );/ Y( L  t2 p) d

' {( \) F2 Q  u" C' h! W; D  /* Register user function when wlan connection status is changed */
  I6 H! y! r8 j* o; r0 n% V  err = mico_system_notify_register( mico_notify_WIFI_STATUS_CHANGED, (void *)micoNotify_WifiStatusHandler, NULL );
0 T' {7 e3 |* D& J( [; z/ P; `/ [0 N* t: O
  /* Register user function when wlan connection is faile in one attempt */
4 Z  M0 G$ v: j; J+ I  err = mico_system_notify_register( mico_notify_WIFI_CONNECT_FAILED, (void *)micoNotify_ConnectFailedHandler, NULL );
6 n# E6 a; \1 Z9 z
$ O8 [8 N! J1 E3 W4 h  ext_rgb_led_log("rgb led conrtol demo(RGB_MODE)"); 7 y: d: T& b4 b, I
  /*创建一个时间运行线程*/2 S8 w; i8 C. P# G' {0 F
  err = mico_rtos_create_thread(NULL,MICO_APPLICATION_PRIORITY,"RTC Time Run",RTC_Time_Run,200,NULL);//创建并启动一个新的线程
8 I2 [; d: Z: I" p6 `) i% n( Z" A3 R$ ]% X. c3 U8 g3 u8 i) v$ w
  /*初始化 RGB LED(P9813)*/ 1 O* m. p1 l& ]) d
  rgb_led_init();
6 y( o- k( _6 p8 I' x7 }2 y  MicoGpioOutputHigh(MICO_RF_LED);
( T5 ?$ d# v9 x4 @4 m2 F6 ^  //while(1) { 4 y* m, ^8 @# Z8 U# G, M/ i: P
  /*RGB LED亮红灯,#FF0000*/
% E; g2 Z5 \+ G8 @! z  //  rgb_led_open(255, 0, 0); 0 R4 R% u: @. L- U" o
  // mico_thread_sleep(1);) F1 T3 T$ s0 ^: U' l
  /*RGB LED亮绿灯 #00FF00*/ + e, r1 `8 \/ m: _. T
  //  rgb_led_open(0, 255, 0); . M% r/ c6 P. o
  //  mico_thread_sleep(1);
0 ^* \) ?2 L: t$ I% X7 A& F7 W) V  /*RGB LED亮蓝灯,#0000FF*/
4 |* Y$ B7 b% F6 O! Y4 f0 R  //   rgb_led_open(0, 0, 255); 6 X' l# F6 [: h8 @1 B
  //  mico_thread_sleep(1); + |% s( s* E# B% h# c5 z
  // }*/9 i8 I2 i- |- l/ U7 }
  /*LED1初始化*/
' l' [; m9 R; B1 C0 L/ y; T  err = RUN_LED_init();5 Y0 K: r5 s7 z1 t8 v. q' _
# E2 T: ~4 B+ Z4 T
  /* 初始化 直流电机 */
! k2 r! ^, A! I5 c6 V  err = dc_motor_init();
" p1 |1 u! I, F$ [( W+ G
2 i8 I' \! @% K- F+ Z1 ^' z
2 y- U# I! i3 e  /*初始化 温度 湿度*/ ' m- j  @$ ~1 I6 _7 x  D& e: j# L" n
  err = DHT11_Init();6 t) M6 _0 i" N2 \$ C

: r/ {% X* \/ q: T( W+ \2 J0 R- y% p+ p# C- M5 ?* l( e2 t
  /*初始化 光发射二极管*/
( R( O  L2 d- ~4 J  OLED_Init();
+ m4 O% o% L0 H" L) f, l2 [  OLED_ShowString(0, 2, " Le Ju Le Yun");
$ G( U; n! b3 `4 W. n% z- q( B7 V! d3 l/ ~. Z, d2 X9 ]9 q
  /*初始化光强传感器*/
2 ?) s4 k9 ~2 U% ]4 m; x  err = light_sensor_init();
8 R' u3 N& d, S5 }7 M& f9 V7 @, H9 ?1 m3 ~/ o8 T3 V
  /*按键初始化*/9 T6 F  v4 W$ r; t5 {
  GPIO_KEY_Init();0 x8 R- I1 Y7 O( c
( G6 k0 Z1 W& f6 k" N7 [6 F
  mico_rtos_delete_thread(NULL);8 d- {6 C+ U$ G1 Z, e3 d* y
  return err;
5 ^8 i' \7 H' x" H, v}* x7 z0 E1 w& L$ g9 w2 T4 d6 a

* r% f" ~& s3 `9 f+ n- e0 c. [& D2 U* D: U

1个回复

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

本版积分规则


关闭

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

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

GMT+8, 2025-12-14 17:36 , Processed in 0.674942 second(s), Total 62, Slave 44 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

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