рдЕрд╕реНрд╡реАрдХрд░рдгред рд▓реЗрдЦрдХ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд▓рд┐рдП рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рд╡рдХрд╛рд▓рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЬреАрд╡рди рдирд┐рд░реНрджрдпрддрд╛ рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо (рдУрдПрд╕) рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИред рдмрд╛рдЬрд╛рд░ рдкрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреА рднрд╛рд░реА рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдбреЗрд╡рд▓рдкрд░реНрд╕, рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдЕрдХреНрд╕рд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ "рднрд╛рд░реАрдкрди" рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП "рдПрдВрдЯреНрд░реА рдереНрд░реЗрд╢реЛрд▓реНрдб" рдХреЛ рднреА рдмрдврд╝рд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдУрдПрд╕ рдХреА рдкрд╕рдВрдж рдХреЗ рд╕рд╛рде рдкреАрдбрд╝рд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рде рд╣реА рд╕рд╛рде рдХрд┐рд╕реА рдФрд░ рдХреЗ рдЙрддреНрдкрд╛рдж рдХреЗ рдЕрдзреНрдпрдпрди рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдХреЛ рдмрд╛рджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рд╕рд╛рде рд╣реА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдПрдореНрдмреЗрдбреЗрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рддрдХрдиреАрдХ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдпрд╣ рднреА рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рд╕рдм рдХреНрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдУрдПрд╕ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЗрд╕рдХреА рдЧрдВрдз рдирд╣реАрдВред
рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдУрдПрд╕ (рдУрдПрд╕, рднрд╛рд╖рд╛ рдЕрдкрдиреЗ рдУрдПрд╕ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдУрдПрд╕рдЖрд░рд╡реА) рдХреЛ рд╕реНрдерд┐рд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рд╣рд┐рдореНрдордд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдУрдПрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рд╕рдорд░реНрдердХ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рдореИрдВ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рдкреНрд░реАрдореЗрдкреНрдЯрд┐рд╡ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рд╕рдорд░реНрдердХ рдирд╣реАрдВ рд╣реВрдВред рд╕рд╣рдХрд╛рд░реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреНрд░реАрдореЗрдкреНрдЯрд┐рд╡ рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рди рдХреЗрд╡рд▓ рдЬрдЯрд┐рд▓ рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рдереНрд░реЗрдб рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди рднреА рд╣реИред рдЧрддрд┐рд╢реАрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХрд╛рдлреА рдЬрдЯрд┐рд▓ рдХрд░рддрд╛ рд╣реИред
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ Cortex-M0 рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рдВрджрд░реНрдн рдХреЛ рдмрдЪрд╛рдиреЗ рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдирд┐рдпрдореЛрдВ рдореЗрдВ рдорд╛рдореВрд▓реА рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕реНрд░реЛрдд рдХреЛрдб
рдлрд╝рд╛рдЗрд▓ IntorOS.h#ifndef __INTOROS_H #define __INTOROS_H
IntorOS.c рдлрд╝рд╛рдЗрд▓ #define _INTOROS_C #include "stm32l0xx.h" #include "IntorOS.h"
рдлрд╝рд╛рдЗрд▓ IntorOSSleepIAR.s #define SHT_PROGBITS 0x1 EXTERN KolvoTask EXTERN TaskList EXTERN TaskNum PUBLIC Sleep SECTION `.text`:CODE:NOROOT(2) THUMB
рдлрд╝рд╛рдЗрд▓ IntorOSSleepGCC.s .cpu cortex-m0 .text .cfi_sections .debug_frame .section .text.Sleep,"ax",%progbits .align 1 .global Sleep .syntax unified .thumb .thumb_func .type Sleep, %function .extern KolvoTask .extern TaskList .extern TaskNum .cfi_startproc
OS рд╕рдВрдХрд▓рди рд╕реНрдерд┐рд░рд╛рдВрдХ
#define IntorOSMaxKolvoZadach (2)
рдзрд╛рд░реНрдорд┐рдХ рдХрд╛рд░рдгреЛрдВ рд╕реЗ, рдореИрдВ рдЧрддрд┐рд╢реАрд▓ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд╕рдВрдХрд▓рди рдЪрд░рдг рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
OS OS рд╕реЗрд╡рд╛рдПрдБ
void InitTask(void (*TaskPointer)(void), unsigned long Stek);
рдЯрд╛рд╕реНрдХ рдЖрд░рдВрднреАрдХрд░рдгред рдХрд╛рд░реНрдп рдХреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ рдХреЛ рдЖрд░рдВрднреАрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рджреМрд░рд╛рди, рдЖрдкрдХреЛ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рд╕реНрдЯреИрдХ рдЖрдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЬрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рдХрд╛рд░реНрдп рдЖрд░рдВрдн рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд╡рд╣ рдЙрдирдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдкрд╣рд▓реЗ рд╢реБрд░реВ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ 0 рд╣реИред рдпрджрд┐ рдЖрдк рдЖрд░рдХреНрд╖рд┐рдд рд╕рдВрдЦреНрдпрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреБрд▓ рд╕реНрдЯреИрдХ рдЖрдХрд╛рд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреАред рдЬрдм рдХрд╛рд░реНрдп рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХрд╛рд░реНрдп рд╕реНрдЯреИрдХ рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕реНрдЯреИрдХ рдХреЛ рдХрд╛рд░реНрдп рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
void StartOS(unsigned long Num);
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╢реБрд░реБрдЖрддред рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдХрд╛рд░реНрдп рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрди рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИред рдЬрдм рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдЯрд╛рдЗрдорд░ рдПрдХ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреА рдорд╛рддреНрд░рд╛ рдкрд░ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред рдкреНрд░рд╕рдВрдЧ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЗ рдвреЗрд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХрд╛рд░реНрдп рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
void Sleep(unsigned long ms);
рд╕рдордпрдмрджреНрдзрдХред рдЬрдм рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдХрд┐рд╕реА рдХрд╛рд░реНрдп рд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирд┐рдпрдВрддреНрд░рдг рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕реВрдЪреА рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд╛рд░реНрдп рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рддрд░реНрдХ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рд╕рдордп рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЬрдм рдлрд╝рдВрдХреНрд╢рди рдХреЛ 0xFFFFFFFF рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирд┐рдпрдВрддреНрд░рдг рдХрднреА рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрдПрдЧрд╛ред
рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реА рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рднрд╛рд╖рд╛ рдХреЗ рддрд░реНрдХ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╖реНрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИред рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ IAR рдФрд░ GCC рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд╛рдирд╕рднрд╛ рднрд╛рд╖рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдкреАрдбрд╝рд┐рдд рдХреЗ рд▓рд┐рдП, C рдореЗрдВ рдХреЛрдб рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рд╡рд╣ рдХреЗрд╡рд▓ "рдЪрдВрджреНрд░рдорд╛ рдХреЗ рдЪрд░рдгреЛрдВ" рдХреЗ рд╕рд╛рде рд╣реА рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдХреЗрд╡рд▓ рддрдм рд╣реБрдЖ рдЬрдм рдЕрдиреБрдХреВрд▓рди рдХреЗ рдордзреНрдп рд╕реНрддрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдирд┐рдореНрди рдФрд░ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рдХреЛрдб рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рдлрд╝рд╛рдЗрд▓ Sleep.c extern Task_t TaskList[IntorOSMaxKolvoZadach];
void EndTask(void);
рдХрд╛рд░реНрдп рдкреВрд░рд╛ рдХрд░рдирд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХрд╛рд░реНрдп рд╕реНрдерд┐рд░ рд╣реИрдВ, рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЙрддрд╛рд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдХрд╛рд░реНрдп рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрд╛рд░реНрдп рд╕реВрдЪреА рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рдпрдВрддреНрд░рдг рдЗрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
void StopTask(unsigned long Num); void StartTask(unsigned long Num);
рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЛ рд░реЛрдХрдирд╛ рдпрд╛ рд╢реБрд░реВ рдХрд░рдирд╛ред рддрд░реНрдХ рдХрд╛рд░реНрдп рдХрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИред рдпреЗ рдлрд╝рдВрдХреНрд╢рди рдЖрдкрдХреЛ рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрдХ рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдк рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рд╕реЗ рдмрдВрдж рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рд╕рдордп рддрдХ рдпрд╣ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ 0xFFFFFFFFред
OS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдХрд╕рд┐рдд рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ "рд╣реЗрд▓рд╡рд░реНрдб"ред
#include "stm32l0xx.h" #include "stm32l0xx_ll_gpio.h" #include "IntorOS.h"
рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдпрд╣ рдЖрд╢рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣, рдордЬрд╝реЗрджрд╛рд░, рд╡рд┐рдХрд╕рд┐рдд рдУрдПрд╕ рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред