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

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

许华 ( 楼主 ) 2017-4-18 17:25:36  只看该作者 倒序浏览
/*************************************************
) ^) O5 Q3 q) u * Function:  RTC初始化函数
' E3 a8 ^. b3 m- y * parameter" E! N! r3 ~2 q) F/ `; F
* Return- o$ m, R6 K) Q+ l' C
* Modify:
. d5 i: M  l4 u  c( @/ s- c" u  X**************************************************/
% ~6 S8 @) _" M. svoid RTC_Time_Init(void)& P% s( |+ I: J; E. @2 H6 a
{. h" B0 r: ^2 o! q' S
  cur_time.year = 17; //设置时间
1 J9 e* x$ T+ z# n; R  cur_time.month = 3;- R% V5 r5 N1 {7 i! v' P0 e4 D& H
  cur_time.date = 23;/ X8 i' u! w* \, X( \) [6 @3 q
  cur_time.weekday = 4;8 e! R% N' B6 t9 W# T
  cur_time.hr = 23;/ K# c. S0 Y1 L. H* d+ v7 L& u( t
  cur_time.min = 58;
8 i5 w3 f) N- G4 O3 e1 l& `  cur_time.sec = 0;& ^/ B. N, F8 T' v2 S$ m' r
  Time_Run.WeekDays_DATA =cur_time.weekday;8 g" O6 X; J9 ?# Q6 ?* F
  MicoRtcSetTime(&cur_time);            //初始化 RTC 时钟的时间
4 j8 R+ G7 ]  C( o, l}
) r1 n8 T+ b3 q, C( G3 [2 Q/*************************************************8 l" T! G/ k* ]; x+ l
* Function:  RTC时间允许读取函数: |6 V. ^0 @6 l
* parameter! \$ z% s' x/ K( `& r1 R4 F/ z& B. f
* Return
; H. }& x& j4 N; R3 o0 f * Modify:
( n4 f* n: W, a- b+ u! S**************************************************/
  s2 }2 X1 F, ?0 d+ K8 Evoid RTC_Time_Run(unsigned int arg)) P8 r; `; Q& l) X% ^. i( e$ T
{8 F  ^% a7 k( {6 J6 {, M
  RTC_Time_Init();" R( X; q7 D$ U8 [" N! p" g' O# T
while(1)9 X7 V/ K! N$ R
{
( T& W' A" E/ l2 t7 v/ s, y$ t  MicoRtcGetTime(&cur_time); //返回新的时间值4 H* ?1 A. ]: f. ^" a
}
; _9 ?7 `. `! f}5 B1 n1 @/ F6 }+ O# G" ~3 {1 e- X
int application_start( void )0 y0 ]5 ^' \) |2 F
{
. B6 t. f: y0 }. b( g4 U  OSStatus err = kNoErr;" H  {1 b" |) u) @6 l# d

0 `) f5 A! E5 k  MicoInit();- @% w$ c9 d( K, Y/ l: F
8 B2 e- G8 ~' X# l" o
  /* Start MiCO system functions according to mico_config.h,
" R( b7 A# C$ h; [& J- X4 S     Define macro MICO_WLAN_CONNECTION_ENABLE to enable wlan connection function, g1 Z" T! l6 p4 A) d, N
     Select wlan configuration mode: MICO_CONFIG_MODE2 Q) ~" o2 j  ]) K: d6 S( {4 @( c
     Define EasyLink settings */
) w3 _9 S0 W( |  err = mico_system_init( mico_system_context_init( 0 ) );
0 W! J9 v5 H0 a/ Q$ O9 C: L0 v5 Y. \$ r  N% v4 x
  /* Register user function when wlan connection status is changed */$ n0 |6 k0 z. ]
  err = mico_system_notify_register( mico_notify_WIFI_STATUS_CHANGED, (void *)micoNotify_WifiStatusHandler, NULL );
5 t" N- @, ]& X4 m, B) L: Z4 Q5 K- ]7 T( n& e" {
  /* Register user function when wlan connection is faile in one attempt */$ t4 i6 k" z5 [% `  A2 ^( y6 K
  err = mico_system_notify_register( mico_notify_WIFI_CONNECT_FAILED, (void *)micoNotify_ConnectFailedHandler, NULL );& d/ z; T5 Q) Y' V% m5 u. Z5 U* c3 g

  e9 [6 Y, B$ H4 T8 X7 T  ext_rgb_led_log("rgb led conrtol demo(RGB_MODE)");
' A; d2 q6 J+ W8 m  /*创建一个时间运行线程*/
3 ^3 l- p  D; W8 i0 ]" L9 v5 M# ~) n  err = mico_rtos_create_thread(NULL,MICO_APPLICATION_PRIORITY,"RTC Time Run",RTC_Time_Run,200,NULL);//创建并启动一个新的线程
& H( H# Q: `/ A
6 G0 a4 `! _- M) R1 H  /*初始化 RGB LED(P9813)*/
6 {( M  {5 ?6 e  rgb_led_init();
0 X( b, |  |" }0 Y  MicoGpioOutputHigh(MICO_RF_LED);- f6 s: ^0 C8 J! i
  //while(1) {
7 F  v7 w: ~( q& O  /*RGB LED亮红灯,#FF0000*/
/ _' t  W8 y" e5 B" L  //  rgb_led_open(255, 0, 0); 5 n+ ~# @4 N/ x. U: |3 B, T( W
  // mico_thread_sleep(1);
/ N1 n  @  x3 U: {  /*RGB LED亮绿灯 #00FF00*/
' b2 @7 w3 G. w  //  rgb_led_open(0, 255, 0);
7 g- H: E3 C% z" g% q: X2 _) E  //  mico_thread_sleep(1);
/ w& f6 m! J3 [( H8 n  /*RGB LED亮蓝灯,#0000FF*/ 0 r- J! }' S' |5 Q- F# J' U
  //   rgb_led_open(0, 0, 255);
/ [& Q# {7 Q# A* O7 _  //  mico_thread_sleep(1); ; `. \# C( c3 N) y  {
  // }*/- u) c5 f6 F6 Q; e5 |1 {) v
  /*LED1初始化*/( ]7 _6 g5 E$ p1 c
  err = RUN_LED_init();% h, c- c2 ~1 N' b  f/ b

: L$ Q9 y( Q" A8 n0 N) N  /* 初始化 直流电机 */
6 y5 l; n$ c1 `' I  err = dc_motor_init(); ' o" x: K7 o+ u6 b! n( P% T! \

. @2 P/ n, m  {: C( I- _8 M' O3 e9 M. Z1 G" v9 Y4 W" m3 {% G# K
  /*初始化 温度 湿度*/ 1 C9 z8 E! {+ X$ W& J
  err = DHT11_Init();# D' ^9 S/ B2 k3 e# q7 O" e/ _
  C. X; T9 s$ d. I
# i! M' O/ i/ z5 i7 D
  /*初始化 光发射二极管*/ . ]; Y0 q) E; d7 g' s' c  x7 W
  OLED_Init();5 ~  y" l; Z" c' `8 F0 N% E$ O: t
  OLED_ShowString(0, 2, " Le Ju Le Yun");1 ^7 q3 N9 |& y% Z

2 P9 b! Z5 [, S! n. O  /*初始化光强传感器*/
( ]  L' c* l2 F4 C  err = light_sensor_init();
: W1 u: W* R6 b, u/ c
" K7 h" Y& _) E: h* o7 Z2 b  /*按键初始化*/
8 Y% B$ f& C) `$ s0 P  GPIO_KEY_Init();
2 w& W5 H: o/ e' M" f8 {( }1 b3 q( @4 b7 Y0 O" X/ R3 D. W9 W9 _
  mico_rtos_delete_thread(NULL);
6 x3 ]) x6 V7 X: d" Q- W9 R  return err;
# G, o' S# g9 @! l9 e}
5 P) ?2 B! Z0 D) I$ F5 j
/ ^1 e( h& }$ e0 H% [! q8 g% d; H! @2 }7 |5 V6 r+ W( q# o% o5 \7 X1 c

1个回复

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

本版积分规则


关闭

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

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

GMT+8, 2024-4-24 17:31 , Processed in 0.343829 second(s), Total 35, Slave 26 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

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