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

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

许华 ( 楼主 ) 2017-4-18 17:25:36  只看该作者 倒序浏览
/*************************************************
+ i, @+ ]1 M' ^2 Z7 G, ]7 p * Function:  RTC初始化函数
' W' W3 F& q9 Y/ i% z3 ?; K * parameter( A) U5 n- z( }% T$ j
* Return+ @9 }# k1 J/ ?$ [) _2 ~/ n
* Modify:
! Q7 b- g& Z- L& }2 c**************************************************/
  u9 A' c" c) A) I4 m2 Q" L( ~void RTC_Time_Init(void)
) D9 b/ X3 A- r' `{
2 Q3 V2 I# Y0 B. t" k* r" x& l  cur_time.year = 17; //设置时间: _6 W$ l5 l/ `( G- l5 v
  cur_time.month = 3;
4 |2 }  D  d5 I8 d& K/ ^  cur_time.date = 23;
3 p: U. Q/ c* R% f8 E2 J  cur_time.weekday = 4;
3 X" _* A. i% A; E: H0 z  cur_time.hr = 23;3 s7 z+ @. i4 a; h2 L
  cur_time.min = 58;
* R, J+ C' Z; G7 E5 ]- L9 t# k  cur_time.sec = 0;$ u: k3 r9 A. G4 x, J. o1 ]
  Time_Run.WeekDays_DATA =cur_time.weekday;5 n* F  l/ Q+ k0 @1 G' P0 k4 k
  MicoRtcSetTime(&cur_time);            //初始化 RTC 时钟的时间 8 |% X8 E# R$ b/ I. f& A! T2 h6 b
}1 @; X3 W# }' ]" R
/*************************************************
5 u* `( j, O7 C6 O; ~ * Function:  RTC时间允许读取函数
8 H% z+ N9 w5 p, U- D * parameter
: o( i! z+ T1 L4 n8 } * Return
% x9 v1 X: J  i! Y; G! K3 F9 K * Modify:
' e+ {3 l7 v  q4 \**************************************************/
2 h2 R( q. k+ Jvoid RTC_Time_Run(unsigned int arg)9 ^# [! T: {" n0 I+ n/ |
{
# T5 K& F% w9 E* ~7 L: X! j  RTC_Time_Init();
) @  D; Y6 V* n0 `2 O! R/ P  C while(1)
4 {, T, p9 F5 S {+ Q4 i% Q$ [3 V# B/ F0 B& q+ a
  MicoRtcGetTime(&cur_time); //返回新的时间值. a$ f" ^$ `7 v& Z# P" s1 b, U
}) p' J2 J! z/ D) O& D4 H: W
}
; v& p5 c+ c; Hint application_start( void )! d9 X" R# }- G; J  E4 h
{ / T+ U: G8 o  F0 d. f5 j
  OSStatus err = kNoErr;4 t+ u4 N$ K$ H$ w1 \3 E
4 O# w9 M- ?! [/ d8 g
  MicoInit();2 }% d8 M% ~; A; p) A" D! h- U- m
, o. a4 z' j: `
  /* Start MiCO system functions according to mico_config.h,
: N& v1 J7 Z# c- H) a     Define macro MICO_WLAN_CONNECTION_ENABLE to enable wlan connection function
- r9 k0 }; h5 }/ j& h% q+ T7 ~2 B     Select wlan configuration mode: MICO_CONFIG_MODE
$ Y' A2 |! Y% l3 l$ I3 @- L     Define EasyLink settings */0 ^1 }, Q3 k0 f" y8 a0 O
  err = mico_system_init( mico_system_context_init( 0 ) );0 p% P8 v& ~% {' \. c

0 j# M) c8 z9 h! `  |/ x  _, I$ V2 {  /* Register user function when wlan connection status is changed */
. F  J' g. y4 z1 ?; b  err = mico_system_notify_register( mico_notify_WIFI_STATUS_CHANGED, (void *)micoNotify_WifiStatusHandler, NULL );- n$ o, ^! s  i0 s: N8 x; g
0 j, `2 ]% S9 Q  V9 K5 Q0 [/ v& h
  /* Register user function when wlan connection is faile in one attempt */9 |( S! `7 r& D9 _
  err = mico_system_notify_register( mico_notify_WIFI_CONNECT_FAILED, (void *)micoNotify_ConnectFailedHandler, NULL );' E( n* [1 a; ]8 S6 V

& T' g, J7 G: P, Z! s1 ^3 [( H" S  ext_rgb_led_log("rgb led conrtol demo(RGB_MODE)"); 8 p2 l* f! A5 ~7 @
  /*创建一个时间运行线程*/
! P! j9 C* O( s- Z# A* J" n  err = mico_rtos_create_thread(NULL,MICO_APPLICATION_PRIORITY,"RTC Time Run",RTC_Time_Run,200,NULL);//创建并启动一个新的线程( R& S+ e4 s# V% y6 s8 n

- {% q/ L9 o  G$ ?% U* e  /*初始化 RGB LED(P9813)*/ * k, O( X4 @5 o$ x
  rgb_led_init();
" l6 ^- E# W& v) y- [, S- u% R  MicoGpioOutputHigh(MICO_RF_LED);
" g! j/ J  Z1 s  //while(1) { : U/ C9 Z8 x9 [
  /*RGB LED亮红灯,#FF0000*/
" J" n. {8 r6 c$ E  //  rgb_led_open(255, 0, 0); % o; e# Y+ h) P! n+ d5 w
  // mico_thread_sleep(1);/ x8 ~/ |- p8 B! ~7 e
  /*RGB LED亮绿灯 #00FF00*/ : P* c& N0 D* N" n
  //  rgb_led_open(0, 255, 0);
8 J6 [7 R0 a- M  A  //  mico_thread_sleep(1); 7 V9 e  M& y( Q- D
  /*RGB LED亮蓝灯,#0000FF*/
/ Y$ ?1 j+ o2 J1 w( U! z  //   rgb_led_open(0, 0, 255);
. e4 U$ y7 K7 {, C2 T  //  mico_thread_sleep(1);
1 F  K" i) n1 S* K5 w  // }*/4 _1 I5 b# C: }
  /*LED1初始化*/
. s) e5 M9 R- o* U" @5 E  err = RUN_LED_init();
+ z# B$ q- {! y) q' [% U/ ?# a: c
  /* 初始化 直流电机 */
1 R  K: m9 H% y) `  err = dc_motor_init();
& J8 T/ R, E9 u1 ^
+ T8 W' U1 b. U( z2 T5 P' b+ O! X3 A: t# p5 d# Y
  /*初始化 温度 湿度*/ ; A$ [2 A) d" A- ^; F) `
  err = DHT11_Init();
- I1 S/ T1 Z/ y2 m" }. D: d8 h- G) T; Q  s5 F$ u

4 K4 u( b3 u9 E  /*初始化 光发射二极管*/ . J. y. T& @6 s/ U/ T/ C
  OLED_Init();
2 k; x# _0 W: e4 l3 v  ^/ U  OLED_ShowString(0, 2, " Le Ju Le Yun");! l8 r3 ^4 r; E3 H8 k
$ K) ^8 z5 x  a; q! i
  /*初始化光强传感器*/
# y( q! {" g. H+ k! u! D  err = light_sensor_init();
+ B) `2 N: Y4 d; y/ t' b# P- F' p+ w4 H1 [
  /*按键初始化*/
% m/ `" c% X+ H  GPIO_KEY_Init();, V8 @/ I) M! l
8 q7 r! ?; S7 {: ~7 e3 [5 S
  mico_rtos_delete_thread(NULL);
6 b/ Y5 P" t# |: J( y$ H2 G% m  return err;4 v. f9 O% i$ X3 ~- x
}
4 K4 a3 i+ g  r: K7 L6 Y. A
6 D9 A) U& \$ u2 D. z8 v6 l
) O) C6 g$ b' o( e# w$ _

1个回复

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

本版积分规则


关闭

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

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

GMT+8, 2025-12-1 18:54 , Processed in 0.671708 second(s), Total 60, Slave 42 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

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