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

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

许华 ( 楼主 ) 2017-4-18 17:25:36  只看该作者 倒序浏览
/************************************************** V" H( i; G) m( e
* Function:  RTC初始化函数
3 B, Q! M* d& [% J& ?5 _ * parameter* a; C6 [) h9 D+ U) G( p8 a
* Return1 Z) v. i0 J+ \5 ]  p" }: D" L2 e1 g( r
* Modify:, q/ q* C- G# j5 I. |% e6 g* K6 [9 V
**************************************************/
. }9 A  j, c  O( lvoid RTC_Time_Init(void)' c4 o& a. Q  [" w9 f, O; e
{* p5 v8 H; o9 b6 G6 h4 [
  cur_time.year = 17; //设置时间! _; Y- E# }7 ]0 S
  cur_time.month = 3;
3 M  R/ ~- |' ?, M! t5 U  cur_time.date = 23;
6 c8 H" ^0 L/ b1 I; l8 C  cur_time.weekday = 4;
7 p3 N& L+ u* u0 U- V# s) c  N  cur_time.hr = 23;! N5 {6 a0 S8 \. k2 y5 S
  cur_time.min = 58;
6 \1 p3 p6 D5 v3 e3 r5 T& S" ]  cur_time.sec = 0;
% Y: v; s3 y6 _+ @6 h4 s# z  p  Time_Run.WeekDays_DATA =cur_time.weekday;" u3 F6 V0 ^) d9 u- {1 e! |
  MicoRtcSetTime(&cur_time);            //初始化 RTC 时钟的时间
2 R1 D! H- B2 z) j) p- c; z* d}
8 Q4 g8 X" b+ t8 \% r6 H/*************************************************
, T) y& u% F/ j: O, N, y% `: f * Function:  RTC时间允许读取函数
$ t8 }1 t% L. x/ Q * parameter
: S% O* E  c6 Z/ s& ^/ d * Return
4 g  N+ f5 \4 b3 s3 b * Modify:/ o) N8 X( ~! j) t
**************************************************/: [8 r. ]: s% u! Y* I4 i3 {
void RTC_Time_Run(unsigned int arg)# e9 t. ~' Q: ~: t, y: l
{
5 ]! q# H! ~  P9 o+ _9 X3 g  RTC_Time_Init();2 ?) h) N* [* _: v8 F2 s/ A, Z8 M
while(1)
$ a0 G: ?! n  ~8 N8 v- | {
& s4 ]' A  {  z  MicoRtcGetTime(&cur_time); //返回新的时间值  [6 N% ~0 b8 ~  ]# M* B1 N7 \9 p& ~
}
' Z/ O% w5 k' o8 b. G}3 I9 ^2 Q1 E/ a0 Y+ t) r
int application_start( void )
% [$ D6 r& j7 P{ 7 n  l; K: x1 |5 k% T% ?
  OSStatus err = kNoErr;1 b# n7 Z. l  a& ?

% ?3 b  N3 ^7 s$ |. W- v$ [( y1 ^  MicoInit();8 C) ~" q# R$ i- s0 Z
5 O* k1 z' M0 u: Z
  /* Start MiCO system functions according to mico_config.h,
5 l- U0 b6 Y# m. H/ ~/ ~     Define macro MICO_WLAN_CONNECTION_ENABLE to enable wlan connection function# u& j% V" c" a# w# [( t" s
     Select wlan configuration mode: MICO_CONFIG_MODE
) W; T# j# i) a$ d+ _7 k3 j     Define EasyLink settings */
- ?0 l1 X8 K2 \  err = mico_system_init( mico_system_context_init( 0 ) );6 y  |  [' O: Q% K% q' N3 P

- U5 h, i) l1 i3 \' `  /* Register user function when wlan connection status is changed */. {! s. l; d" j: o3 Q  p
  err = mico_system_notify_register( mico_notify_WIFI_STATUS_CHANGED, (void *)micoNotify_WifiStatusHandler, NULL );
3 J- \3 w/ h2 N8 g" b3 |
9 x" f& [1 G/ s" H& V  /* Register user function when wlan connection is faile in one attempt */; a4 Z+ P, T8 @
  err = mico_system_notify_register( mico_notify_WIFI_CONNECT_FAILED, (void *)micoNotify_ConnectFailedHandler, NULL );- M+ _, s) h* `6 q. x
* N8 m  X& h  T! i% A5 B. H
  ext_rgb_led_log("rgb led conrtol demo(RGB_MODE)");
9 v* `, k* Q& x  /*创建一个时间运行线程*/
1 O+ R' }) {; @  err = mico_rtos_create_thread(NULL,MICO_APPLICATION_PRIORITY,"RTC Time Run",RTC_Time_Run,200,NULL);//创建并启动一个新的线程
6 e8 D: x$ B) M1 O; ~' E" i% `( r! C8 p& S$ n% i3 p
  /*初始化 RGB LED(P9813)*/ / P1 U( Z0 L4 a7 E; x$ [- [
  rgb_led_init();
! b# h; z' q7 T  MicoGpioOutputHigh(MICO_RF_LED);
3 A0 j/ W: V5 }+ `  //while(1) { ; ]3 [) V' {9 _
  /*RGB LED亮红灯,#FF0000*/
0 o: d' C8 ^) ~9 q  //  rgb_led_open(255, 0, 0);
% a, j# E+ n5 g- M$ [: Z  // mico_thread_sleep(1);
) c" @7 e3 e) S7 Y4 K  /*RGB LED亮绿灯 #00FF00*/
( w- s0 d3 g; r% |5 J) `9 P  //  rgb_led_open(0, 255, 0); / t$ Y/ d/ B4 [' p4 S
  //  mico_thread_sleep(1); $ u. P$ R$ Q, U* _
  /*RGB LED亮蓝灯,#0000FF*/ ; F/ B3 t, }9 Q- ~
  //   rgb_led_open(0, 0, 255); 3 d1 w) _: F& H- L3 @
  //  mico_thread_sleep(1); 0 ]4 ]+ m# r0 \2 k  X( g8 y
  // }*/
: e/ i+ a) d$ ~3 b& Q" W9 }  /*LED1初始化*/1 t, \6 h6 r2 h' `2 S' L$ N  p; `0 F
  err = RUN_LED_init();
( i; T/ G. p8 Q7 z, ^4 y: M; D. y+ a' Q) r% ^+ m& J* o5 P6 e
  /* 初始化 直流电机 */
3 w( f. w9 K- u+ @" h  U3 N4 t$ z  err = dc_motor_init();
+ t/ p) u  J" S" |6 ^. T8 S( T% i# {; ]
, Q8 t% S3 |1 b1 n& @: H* |- S
  /*初始化 温度 湿度*/
0 M* [5 J6 G; `$ c; Q% T  err = DHT11_Init();
; f/ v" G- h* L8 H% d  u& c/ K4 O! |+ w
4 _) S# Z  j6 H6 }* {  a( \
  /*初始化 光发射二极管*/
/ r% |  E- \' Q& e8 W" g  OLED_Init();
2 z. d: N" b% x+ [1 f1 I5 a  OLED_ShowString(0, 2, " Le Ju Le Yun");& h! e( H! ~0 n% {
; g5 @% g. Z% D  f
  /*初始化光强传感器*/
- k2 {) M. g1 w' n3 r' j  err = light_sensor_init(); + {/ f$ h5 W' K9 z
% N1 M# N9 @! r# t9 g5 B
  /*按键初始化*/* C& a2 W% r/ B/ S  b) l4 {
  GPIO_KEY_Init();: {2 f0 W/ X6 p3 ^, l: _# h
. b% X+ r2 Q( v  Z6 T
  mico_rtos_delete_thread(NULL);
9 o5 S9 i- V+ x& A# V$ K; n  return err;/ c4 ]; b+ P# U! W3 M
}' P: ?" w: M* o* K8 w

( x! w, v% ^9 g1 v: o
! l1 {# L( v$ _) x+ f

1个回复

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

本版积分规则


关闭

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

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

GMT+8, 2024-5-20 12:37 , Processed in 0.526236 second(s), Total 63, Slave 45 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

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