در قسمت دوازدهمآموزش میکروکنترلر STM32F4 به ابزارهای ارتباطی بین Thread ها پرداختیم. در این قسمت از آموزش میکروکنترلر STM32F4 به مبحث مهم و کاربردی تایمر ها و سرویس وقفه میپردازیم. با سیسوگ همراه باشید.
تایمر
گروه تابعهای مدیریت تایمر، امکان ساختن و کنترل تابعهای تایمر را در سیستم فراهم میکند. یک تابع تایمر، وقتی که یک دوره زمانی تمام شود فراخوانی میشود. به دو شکل یکباره و متناوب میتوان تابعهای تایمر را تنظیم کرد. تابعهای تایمر متناوب تا وقتی که متوقف شوند یا پاک شوند به کار خود ادامه میدهند. یک تایمر را میتوان شروع کرد، بازنشانی کرد و یا متوقف کرد.
تایمرها در ریسمان oSTimerThread اداره میشوند. تابعهای فراخوانی، زیر کنترل این ریسمان اجرا میشوند و میتوانند تابعهای سیستم عامل را فراخوانی کنند.
تعاریف تایمر
تعریف Timer object:
C++
1
#define oSTimerDef(name, function)
دسترسی به تایمر تعریف شده:
C++
1
#define oSTimer(name)&os_timer_def_##name
ساختمان شمارشی
C++
1
2
3
4
enumos_timer_type{
oSTimerOnce=0,
oSTimerPeriodic=1
}
توابع تایمر
راه اندازی یک تایمر
گامهای زیر برای راهاندازی تایمر نیاز است:
تعریف تایمر
C++
1
2
3
oSTimerDef(one_shot,STart_machine);// when the timer expires, the function STart_machine is called
oSTimerDef(periodic,toggle_power);// when the timer expires, the function toggle_power is called
oSTimerId one_shot_id,periodic_id;
نمونه سازی و شروع تایمر در یک ریسمان سیستم عامل
C++
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
one_shot_id=oSTimerCreate(oSTimer(one_shot),oSTimerOnce,(void*)0);// creates a one-shot timer;
// (void*)0 is passed as an argument to the callback function
periodic_id=oSTimerCreate(oSTimer(periodic),oSTimerPeriodic,(void*)5);// creates a periodic timer;
// (void*)5 is passed as an argument to the callback function
ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموتهای درب بازکن تا ریموتهای دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی میکنند و آنهم ارسال اطلاعات بهصورت بیسیم است....
امنیت همیشه و در همهی اعصار، مقولهی مهم و قابلتوجه ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموتهای کنترل خواهیم پرداخت....
دیدگاه ها
0 دیدگاه