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

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

许华 ( 楼主 ) 2017-4-18 17:25:36  只看该作者 倒序浏览
/*************************************************& R+ L1 r+ X1 o7 m5 _/ C% {6 Z# P3 _
* Function:  RTC初始化函数
" |/ O# ?- Q' [- r9 j, b * parameter: _+ R' \3 ]( O& L, ^' D
* Return
- Q9 z, y0 o) r9 s * Modify:: v, x0 C- Y0 g! ^
**************************************************/$ g( ~9 l6 V9 l+ N/ f2 I
void RTC_Time_Init(void)
8 i, k- Y# s1 ]" K{
7 M' g* v5 H( @  cur_time.year = 17; //设置时间, U% _0 W* j1 G# q8 S
  cur_time.month = 3;, K$ M* e* n" b) H' h& x
  cur_time.date = 23;1 w( d4 F* L% J4 V
  cur_time.weekday = 4;! m) I2 l$ L# Q1 R( ?( w
  cur_time.hr = 23;
& v+ I, Y. E, n+ J8 E& W  cur_time.min = 58;- Q& I! x0 i' l/ k8 B0 X2 w; V
  cur_time.sec = 0;
4 F5 Q; \, x3 R/ W  a' U  Time_Run.WeekDays_DATA =cur_time.weekday;
, ]% W2 o# o3 O- E! y* C8 a9 V  MicoRtcSetTime(&cur_time);            //初始化 RTC 时钟的时间 & O+ w% B  Z) p- z! L0 b
}
5 r* j; g/ e5 ]# Z/*************************************************
  I  l) X" H5 Y9 Q* n% a * Function:  RTC时间允许读取函数
$ k- p  a0 f* ?" ]# {. G * parameter
/ z# {- Q! [# Z8 S. `' U * Return5 {' O" P9 U% b( R. Q2 W
* Modify:
0 K( c5 B  t% X( F: Z* k3 O**************************************************/
  P$ F0 x- |) Q: Wvoid RTC_Time_Run(unsigned int arg)3 _/ Y( f' N1 F2 v
{
9 e7 x; _3 }: _- w: j  RTC_Time_Init();
( X. G8 K9 j  _" h7 N2 C) c: Q while(1)
$ j- h: u( g" X3 r, A/ q {1 h8 I# Y; j# l
  MicoRtcGetTime(&cur_time); //返回新的时间值
1 V9 U0 {7 `% T4 v! g }
/ u5 z0 a1 v8 v/ ^}
0 E! g1 G! I/ K* X/ G8 D0 Aint application_start( void )
0 z- u1 |0 d* C% Y/ {) c{ / o! y/ e- s1 e3 v) _
  OSStatus err = kNoErr;* G7 B' `* F% g/ D% L% K- j
9 u1 h* J' g" d
  MicoInit();
4 u( N$ d; C9 N4 k! A+ p0 m! b& i% b$ P, O
  /* Start MiCO system functions according to mico_config.h, # L4 W3 g1 ?7 L; V, V
     Define macro MICO_WLAN_CONNECTION_ENABLE to enable wlan connection function6 X1 ]8 ^# f% F, j. \( ~
     Select wlan configuration mode: MICO_CONFIG_MODE( V( q3 P3 Y3 O
     Define EasyLink settings */
5 n; k- r4 z1 v% R/ |$ G  err = mico_system_init( mico_system_context_init( 0 ) );
% e! i7 R- M! v: m& u3 O
" a$ B; |4 p7 P! \8 m# u! B. U: R  /* Register user function when wlan connection status is changed */& f, `$ O; ]4 ~% i" f5 j  r+ l
  err = mico_system_notify_register( mico_notify_WIFI_STATUS_CHANGED, (void *)micoNotify_WifiStatusHandler, NULL );) R) G' a+ m) @) A

! T- y: D$ H. K+ L  /* Register user function when wlan connection is faile in one attempt */
* v& u0 z9 K$ P$ S  err = mico_system_notify_register( mico_notify_WIFI_CONNECT_FAILED, (void *)micoNotify_ConnectFailedHandler, NULL );3 q) W9 O9 l5 g0 `0 |( d
- {6 \. `1 J! G, a3 d) Q9 `) h
  ext_rgb_led_log("rgb led conrtol demo(RGB_MODE)");
: o- @4 c5 s2 M% t7 i6 v0 h2 U3 K: Y  \  /*创建一个时间运行线程*/1 |* a- q, |  j8 `+ b
  err = mico_rtos_create_thread(NULL,MICO_APPLICATION_PRIORITY,"RTC Time Run",RTC_Time_Run,200,NULL);//创建并启动一个新的线程1 v+ W$ T0 r; ]3 b9 d5 S4 @1 g
2 o: B9 v; ~6 G. z# {8 ~4 k" A6 W
  /*初始化 RGB LED(P9813)*/
/ i; m  u" x) g  rgb_led_init();4 P4 Y* E# V- V- ^9 l) s
  MicoGpioOutputHigh(MICO_RF_LED);9 m7 q; k- K& T5 W
  //while(1) { + Q3 A# _. j/ P4 D3 H5 |
  /*RGB LED亮红灯,#FF0000*/
* @2 e7 j1 `0 J% x  //  rgb_led_open(255, 0, 0); 3 P/ R5 q! a  C8 y  d, t4 J) o3 _2 V
  // mico_thread_sleep(1);6 {" Z) ~+ \+ e/ u  ]+ Z
  /*RGB LED亮绿灯 #00FF00*/ $ g/ W( w, y& V3 n
  //  rgb_led_open(0, 255, 0); , \3 _6 s* @8 b/ k7 P* m  M8 d+ ?9 G
  //  mico_thread_sleep(1);
- C  z9 ]5 E7 `6 i0 E' y2 h  /*RGB LED亮蓝灯,#0000FF*/ * c( n: x# i9 u5 B: @, k
  //   rgb_led_open(0, 0, 255); 6 {  n' G- J; T; o" ~" y; N
  //  mico_thread_sleep(1);
# D7 d9 G1 j: U  // }*/" l' s# G, O" x& R5 D
  /*LED1初始化*/, A2 C4 C# L$ s' o+ o0 d7 {# n
  err = RUN_LED_init();1 k! J" |/ z7 e% |
  v5 h5 _% T6 _' I% A1 G) d3 W
  /* 初始化 直流电机 */1 T# Z* r) F3 g3 ^& d4 V! }
  err = dc_motor_init();
# ?5 I- m! O1 K2 `3 l; m$ C
7 `; Z) v- [  P7 }8 d4 k
6 F& A0 r4 ~" k; K) m  /*初始化 温度 湿度*/   }8 M; m5 ?. y" }
  err = DHT11_Init();: ]! h8 S: V: Z0 j
0 ?' S5 p+ g3 i% N) m

/ K6 X1 P' }- `% t# [6 z  /*初始化 光发射二极管*/ " H% K- C1 b7 M7 p' d
  OLED_Init();
  [+ \- `% {' m  OLED_ShowString(0, 2, " Le Ju Le Yun");0 p4 d/ \" W% m  \8 H; e
1 Z; q* d2 f7 [+ ]6 ^; ]4 D, s
  /*初始化光强传感器*/ 5 f$ i) y& m) K2 V# `
  err = light_sensor_init(); 0 k+ H; R  \1 E! b4 y% w

( B" n; h" K/ s4 d3 i  /*按键初始化*/' R! T( E4 Q& f/ G+ h
  GPIO_KEY_Init();' L8 x/ U& x% Y" R: k
1 Y- O2 P5 \0 K0 T2 {) ?
  mico_rtos_delete_thread(NULL);; Z: a. G' h* Z6 U! q
  return err;7 z9 x+ `4 ^8 ?# L* R4 [
}
' ~3 q$ Q6 |8 Q
/ m( B  o0 ~2 V' R( y% `1 F4 I* ~3 B: A9 O* N( K9 N

1个回复

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

本版积分规则


关闭

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

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

GMT+8, 2024-11-20 23:35 , Processed in 0.771402 second(s), Total 62, Slave 44 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

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