-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSystem_Run_LED.c
More file actions
65 lines (54 loc) · 2.09 KB
/
Copy pathSystem_Run_LED.c
File metadata and controls
65 lines (54 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/*
* Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2023-10-28 WennianYan the first version
*/
#include <rtdevice.h>
#include "rtthread.h"
#ifdef PKG_USING_SYSTEM_RUN_LED
void System_Run_LED_entry(void *parameter)
{
rt_base_t System_Run_LED = rt_pin_get(System_Run_LED_Pin_Name);
rt_pin_mode(System_Run_LED,PIN_MODE_OUTPUT);
while (1)
{
rt_pin_write(System_Run_LED,!(_Bool)rt_pin_read(System_Run_LED));
rt_thread_mdelay(System_Run_LED_Flash_Time);
}
}
int System_Run_LED(void)
{
#ifdef RT_USING_HEAP
rt_thread_t System_Run_LED_tid = RT_NULL;
/* 初始化并创建动态线程,名称是:System_Run_LED_tid,入口是:System_Run_LED_entry*/
System_Run_LED_tid = rt_thread_create("System_Run_LED",
System_Run_LED_entry,
RT_NULL,
System_Run_LED_THREAD_STACK_SIZE,
System_Run_LED_THREAD_PRIORITY,
System_Run_LED_THREAD_TIMESLICE);
/* 如果获得线程控制块,启动这个线程 */
if (System_Run_LED_tid != RT_NULL)
rt_thread_startup(System_Run_LED_tid);
#else
/* 初始化并创建静态线程,名称是 System_Run_LED_tid,入口是 System_Run_LED_entry */
static struct rt_thread System_Run_LED_tid;
static char System_Run_LED_THREAD_STACK[System_Run_LED_THREAD_STACK_SIZE];
rt_thread_init(&System_Run_LED_tid,
"System_Run_LED",
System_Run_LED_entry,
RT_NULL,
&System_Run_LED_THREAD_STACK[0],
sizeof(System_Run_LED_THREAD_STACK),
System_Run_LED_THREAD_PRIORITY,
System_Run_LED_THREAD_TIMESLICE);
rt_thread_startup(&System_Run_LED_tid);
#endif //#endif RT_USING_HEAP
return RT_EOK;
}
INIT_APP_EXPORT(System_Run_LED);
#endif //PKG_USING_SYSTEM_RUN_LED