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

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

许华 ( 楼主 ) 2017-4-18 17:25:36  只看该作者 倒序浏览
/*************************************************4 J$ L1 a, z/ i5 Q8 l) B2 _
* Function:  RTC初始化函数3 T5 s3 o, O% y2 x5 u
* parameter
9 P- P' U  D! ~- | * Return4 \, o6 d/ P0 P3 z
* Modify:
* a, q' [2 ^/ X  x" u**************************************************/4 h3 w# s/ Q1 R! p  S
void RTC_Time_Init(void)9 i4 ?8 T5 h4 O4 h% v/ y" L
{
/ m" @& b3 Y( `; e! ?1 v; J9 u  cur_time.year = 17; //设置时间
8 L* r' ?; o. X, u" n$ c  cur_time.month = 3;% Y& F2 ^0 c  b6 A' C5 H9 @% E
  cur_time.date = 23;7 `) u9 A; A& @" m
  cur_time.weekday = 4;8 _. a0 C( s( G3 \+ x3 c1 g
  cur_time.hr = 23;/ i2 m$ j) k# \# @0 m
  cur_time.min = 58;
/ t; K3 C' G6 Q/ K  cur_time.sec = 0;
9 ^3 ~# F" L7 E  Time_Run.WeekDays_DATA =cur_time.weekday;
& _. a  W6 Y- H1 A  {  U/ n6 O1 a  MicoRtcSetTime(&cur_time);            //初始化 RTC 时钟的时间 . F/ Z4 f" E! p& X; F6 M
}+ j: b0 |) b3 l% A
/*************************************************3 d) P% P6 J; [4 q/ _8 a) h$ m
* Function:  RTC时间允许读取函数
7 }/ K( I% M: t4 ^! | * parameter
# ]" o, V  x" J6 b& d+ V$ J  h * Return/ J* S8 e  _/ O# Z0 u
* Modify:
. R  P  o( v$ J, O. U3 p3 R# b+ @**************************************************/8 e. h4 ~9 r0 G% o& b5 u
void RTC_Time_Run(unsigned int arg)- I, l$ U+ i- A8 X5 y
{! C' Z) h; w5 E& P
  RTC_Time_Init();
/ G; K$ D+ [  }$ @* v5 B while(1)/ p, V! U+ B0 U5 t" x8 j4 I( t
{
2 r1 q$ n' a0 m7 N: A8 f  MicoRtcGetTime(&cur_time); //返回新的时间值
8 ^/ Z$ Q/ {' P9 k; Y2 b- p( t5 f5 B }
  F! I5 D4 R" S+ Z% p/ b3 X& P}
8 K' K2 m# F0 c% C, mint application_start( void )
* z8 k- i/ e7 K# L# O5 {" V{ & C3 i& Z4 c5 ^3 G- {( t
  OSStatus err = kNoErr;9 I  U) H* H  G& P- E5 g

# i5 S/ Y% k' J8 o( K  MicoInit();
' P) ~3 t# @* Y5 h. j
4 j! m( f9 M. P& f/ b( l, s/ _) B  /* Start MiCO system functions according to mico_config.h,
3 `% }5 \' [5 T     Define macro MICO_WLAN_CONNECTION_ENABLE to enable wlan connection function
& [1 M, ?# {# s3 i2 x2 }     Select wlan configuration mode: MICO_CONFIG_MODE1 i6 g1 j5 e* x) g' [
     Define EasyLink settings */
* J! @: f9 V% S; y* u) ?/ F  err = mico_system_init( mico_system_context_init( 0 ) );3 m: ~  ?# c. Y; N3 ~: s

, P, D3 S* \; y! ?- F  /* Register user function when wlan connection status is changed */
4 v  N& Q* Q$ V0 h2 o) u  err = mico_system_notify_register( mico_notify_WIFI_STATUS_CHANGED, (void *)micoNotify_WifiStatusHandler, NULL );0 N: }$ F! Z) N* q- _9 ^; [

/ o1 D" z' O: |" y3 t! C4 T  /* Register user function when wlan connection is faile in one attempt */
- P% s* r  e9 i7 B: |) T# k  err = mico_system_notify_register( mico_notify_WIFI_CONNECT_FAILED, (void *)micoNotify_ConnectFailedHandler, NULL );+ }6 t! }* \" u8 U

  ~& @- }$ R! @4 t" c  ext_rgb_led_log("rgb led conrtol demo(RGB_MODE)"); , h. i. b5 n) c4 G- _2 `
  /*创建一个时间运行线程*/( N2 X" ^6 s9 y3 K
  err = mico_rtos_create_thread(NULL,MICO_APPLICATION_PRIORITY,"RTC Time Run",RTC_Time_Run,200,NULL);//创建并启动一个新的线程4 j+ A1 t* C  Z, F8 I
2 i) |) s% v3 s; k0 w
  /*初始化 RGB LED(P9813)*/
, }$ ^5 N" K' C/ b0 X  rgb_led_init();0 z, j2 _5 |# o! |# S* h) ?
  MicoGpioOutputHigh(MICO_RF_LED);4 X+ u% M( o! s0 g  M2 ]" M+ `) k
  //while(1) { : s9 r/ |4 ?% L: x, S
  /*RGB LED亮红灯,#FF0000*/ ; |' n$ B. X) ^4 M
  //  rgb_led_open(255, 0, 0); 8 f. b5 s8 q* q1 R; w, ]9 v) V9 h
  // mico_thread_sleep(1);
- K6 q, C: H4 [! j5 \1 h/ ]7 s  /*RGB LED亮绿灯 #00FF00*/ 1 O! K2 _. g9 L: @: ~
  //  rgb_led_open(0, 255, 0); ! l  {+ J! I+ R" y
  //  mico_thread_sleep(1);
4 r1 u* w: N- j9 }" }- r  /*RGB LED亮蓝灯,#0000FF*/ , B- X1 B4 _6 e/ X5 w. j5 l! v0 G
  //   rgb_led_open(0, 0, 255); : A: W/ c# T7 ^! U8 s, [+ w' U
  //  mico_thread_sleep(1); : o' s2 `6 G  b
  // }*/
# p: o: l# q  V0 d- H) |  /*LED1初始化*/
. E" H9 |; R7 V" h' f. n* e4 D8 W  err = RUN_LED_init();
$ A9 R/ B! g! B0 f; G2 y* l3 I  \( e  }3 o8 C
  /* 初始化 直流电机 */
/ X# ?1 B; c+ T1 U3 M4 y: q  err = dc_motor_init();
! _! F$ e8 }/ l& z8 T* ]2 I% V& g- B4 |4 Q1 T( ~0 t) J6 i
5 E5 z" H1 }! }; x, h
  /*初始化 温度 湿度*/ 2 i0 ]& F0 [9 V/ M) I2 v" Q( i
  err = DHT11_Init();
2 a2 c# T+ o2 @  ^% Z3 m/ x  p  M. U9 b! [

/ H* K: x7 [3 M6 F9 V6 t7 Z  /*初始化 光发射二极管*/
8 Y+ {5 L) L2 `0 D# N/ V  OLED_Init();4 t. V/ A/ L3 }) q1 `- M2 h
  OLED_ShowString(0, 2, " Le Ju Le Yun");
7 c" [0 {0 G# E( u& P9 v7 Y# O# [/ R
  /*初始化光强传感器*/ # k; e3 [  E' p6 e
  err = light_sensor_init();
* T2 @; [( F/ a4 x# |2 P; L: N) |/ M1 g+ a: u- P3 [
  /*按键初始化*/' Q5 W, k& ^1 I, T" h
  GPIO_KEY_Init();% ?8 u5 w4 C1 P, w0 H9 f7 m

1 \) y" T' ?) `  P: p- i  mico_rtos_delete_thread(NULL);
, b2 |2 O. x% b( t% `% T  return err;, w+ I4 S$ z3 @7 D/ }! {
}
* v6 X6 G& z; {: |4 S  L+ y& |* j. {/ \# T; x4 U
$ A. g) ]' Z' l+ i. c

1个回复

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

本版积分规则


关闭

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

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

GMT+8, 2024-4-19 19:36 , Processed in 0.406314 second(s), Total 35, Slave 25 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

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