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

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

许华 ( 楼主 ) 2017-4-18 17:25:36  只看该作者 倒序浏览
/*************************************************
- E* o& ~2 R( e& N4 e; Y * Function:  RTC初始化函数
5 S% N: n: t# n/ Z * parameter
0 G/ t6 I2 k! i! A" @( L; q * Return
1 W, r) C2 Z7 i& @: a, O8 Y * Modify:7 p# M- ?/ F6 f3 M( O/ `* M; W6 Y
**************************************************/
. l) S( w% k- kvoid RTC_Time_Init(void)
; O  ^1 D: Q# D' U6 `% I. h{
1 \% g' `! M& B- l( l* e+ C  cur_time.year = 17; //设置时间9 R9 m4 n- f; \! k- v0 V
  cur_time.month = 3;
0 A# p0 N8 j! ]( Z8 s  cur_time.date = 23;
  w+ }" U/ P4 v, S  cur_time.weekday = 4;
5 B9 M+ X/ Y( [4 ^7 W8 f  cur_time.hr = 23;* ?1 _  ?7 z4 N  @; Z
  cur_time.min = 58;# o/ Y) t4 V1 T: f& B6 h
  cur_time.sec = 0;
$ G7 p) @/ K- A% y2 ^  Time_Run.WeekDays_DATA =cur_time.weekday;+ U2 y4 v! R  M
  MicoRtcSetTime(&cur_time);            //初始化 RTC 时钟的时间 ; n( U1 x/ a+ ^- K" R
}! |9 q- b" y, X) t" n+ Q
/*************************************************
* Z0 T! u+ y! H * Function:  RTC时间允许读取函数, v: q6 m+ i3 Y* L0 g% x) P
* parameter
" Q! T( c' U" ^: |" r. I7 i * Return
: D* \" w. H' \* ^ * Modify:
* m7 @; S9 `0 p, R. i) \6 V**************************************************/
3 k/ {8 a. V( Nvoid RTC_Time_Run(unsigned int arg)) o, a1 G/ x+ {% n2 V
{
7 ?% ]& v$ s% {  RTC_Time_Init();8 r) R4 j7 W  x' M' G1 L2 G
while(1)" S; H0 D7 ~/ F5 p
{2 J+ [0 [' F% P9 K* |
  MicoRtcGetTime(&cur_time); //返回新的时间值$ t: F. V5 E/ |6 p) E, k
}7 {0 T/ [" u5 X  j% G  I
}* n; e( k# s! Z0 t4 B4 V
int application_start( void )/ D; T* p  G2 y! ^8 w5 S$ N8 x0 }
{
! m6 u+ S/ ?" d2 L  c, {* m  OSStatus err = kNoErr;  w& I0 }+ U0 w  {& Y

. l7 G( l: j+ P$ J  MicoInit();. r( \3 q& F$ j

3 b/ \7 ~5 t% w5 O  ?+ k  /* Start MiCO system functions according to mico_config.h, " ]& L$ c9 {# |: g  B) {! v' I0 z
     Define macro MICO_WLAN_CONNECTION_ENABLE to enable wlan connection function9 O% W7 E! K1 W& l* f! x' D+ h9 I
     Select wlan configuration mode: MICO_CONFIG_MODE, {9 a! ]. J: `. w7 h2 S
     Define EasyLink settings */
9 L8 I6 O7 G: e2 O4 T  u: L0 Y$ \  err = mico_system_init( mico_system_context_init( 0 ) );  {) e6 t- N. a' U( t
4 d4 g. W, h4 j  B
  /* Register user function when wlan connection status is changed */" h( h$ s6 K/ v+ K& a6 X9 \
  err = mico_system_notify_register( mico_notify_WIFI_STATUS_CHANGED, (void *)micoNotify_WifiStatusHandler, NULL );5 T. i) ^8 |% F2 D: }

9 w) a: Z8 ]4 u4 Y  /* Register user function when wlan connection is faile in one attempt */
/ E1 P" u0 O* }0 M  err = mico_system_notify_register( mico_notify_WIFI_CONNECT_FAILED, (void *)micoNotify_ConnectFailedHandler, NULL );% w3 j* ~% X7 [- B% p8 H1 y
* i! _7 J% T2 U4 z9 w
  ext_rgb_led_log("rgb led conrtol demo(RGB_MODE)");
. _6 \, w7 q3 f7 N1 C" S  /*创建一个时间运行线程*/" q. w$ s* S& h4 ~3 {5 `1 A9 V
  err = mico_rtos_create_thread(NULL,MICO_APPLICATION_PRIORITY,"RTC Time Run",RTC_Time_Run,200,NULL);//创建并启动一个新的线程2 F( k# h7 `! ^( p3 @

$ W2 K& \7 |: _! z  /*初始化 RGB LED(P9813)*/
8 Z, e3 W5 i% p7 \% @# T4 H% n, B  rgb_led_init();; }+ y, R8 p6 r% G1 _" M- {+ g
  MicoGpioOutputHigh(MICO_RF_LED);3 a+ A! q- _6 n# Q8 ~/ e; ^! k
  //while(1) { 4 G6 c! U( ~8 |: k
  /*RGB LED亮红灯,#FF0000*/
& b. d; N- l: k. E1 [0 |  //  rgb_led_open(255, 0, 0); ( T: }: ~3 A" c: x$ a
  // mico_thread_sleep(1);! k; g& ~1 C$ ~! v7 H4 @
  /*RGB LED亮绿灯 #00FF00*/
* C, B) S" L8 X: W+ [  //  rgb_led_open(0, 255, 0); # l" q6 f3 c" W: R; b( a
  //  mico_thread_sleep(1); % c) ?  S2 W' f4 ]
  /*RGB LED亮蓝灯,#0000FF*/
. L5 T* l6 H  _( w$ O  //   rgb_led_open(0, 0, 255); 5 r, {; p8 v% c/ P0 B+ p8 y
  //  mico_thread_sleep(1);
  R7 d' I& [* c& ~5 v1 f) Q" i( g  // }*/4 t/ U% x0 ~- i" T* G% Z3 y' |" N. [
  /*LED1初始化*/
. }2 ?5 i  C1 F, n' v# r; N  err = RUN_LED_init();
  I6 C' I1 }0 N2 i  H) i/ H8 N( _- W/ ]
  /* 初始化 直流电机 */7 Y  w9 Q$ G7 Q7 n0 _# f
  err = dc_motor_init();
! n- g' Y. k6 Z& y  q: S
* H: X# e# T8 Q- Z0 M3 E- E* X; j/ R7 X* p3 G' m0 R* Z8 h
  /*初始化 温度 湿度*/
4 X; l" g' I; b+ R; ~5 a# g! T8 n  err = DHT11_Init();9 V' \4 E' R' u. I, n3 q1 K/ a
& c3 y3 I$ B" i! O. g
3 y( U4 O% A, W+ x- @8 J0 \+ s7 d2 ^
  /*初始化 光发射二极管*/ 8 A; V7 Y, m% _  L& O: P
  OLED_Init();
* U6 v' `- t  u; o- s6 d1 X0 P  OLED_ShowString(0, 2, " Le Ju Le Yun");
- n6 p8 k( F5 ?7 e2 g3 _, M+ N0 K) Z" N
  /*初始化光强传感器*/
- B2 N' k9 R: D6 e' Z3 C! c  err = light_sensor_init(); % v: X4 F8 a7 j; W
  ~$ g5 R& Z% X  G, {# P
  /*按键初始化*/( W7 x; k( \( j3 ]; u- D# k
  GPIO_KEY_Init();1 G6 }1 G1 q) Z8 D
* E$ ?) m7 ^, V
  mico_rtos_delete_thread(NULL);( M" g- ]; p( C3 m' [7 l
  return err;/ K  Z- m; |3 R6 e
}
  D. @! R8 b8 V3 h- }( G/ {. X% J! C

3 l  N+ B# s/ Q5 k

1个回复

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

本版积分规则


关闭

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

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

GMT+8, 2025-12-1 20:46 , Processed in 0.441015 second(s), Total 37, Slave 27 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

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