рдирдорд╕реНрдХрд╛рд░ рджреЛрд╕реНрддреЛрдВ!рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ, рдореИрдВрдиреЗ
рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдФрд░
рдЗрд╕рдХреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рднрд╛рдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ 4 рдЪреИрдирд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рд╕рд┐рдЧреНрдирд▓ рдЬрдирд░реЗрдЯрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдП - рджреЛ рдПрдирд╛рд▓реЙрдЧ рдЪреИрдирд▓ рдФрд░ рджреЛ рдкреАрдбрдмреНрд▓реВрдПрдо рдЪреИрдирд▓ред

рдПрдирд╛рд▓реЙрдЧ рдЪреИрдирд▓
STM32F415RG рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ 12-рдмрд┐рдЯ
DAC (рдбрд┐рдЬрд┐рдЯрд▓-рд╕реЗ-рдПрдирд╛рд▓реЙрдЧ) рдХрдирд╡рд░реНрдЯрд░ рдХреЛ рджреЛ рд╕реНрд╡рддрдВрддреНрд░ рдЪреИрдирд▓реЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдк рд╕реАрдзреЗ рдХрдирд╡рд░реНрдЯрд░ рдХреЗ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рдЧреНрдирд▓ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдПрдХ рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рд┐рдЧреНрдирд▓ рдХреА рдПрдХ рд▓рд╣рд░ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЯрд╛рдЗрдорд░ рдФрд░ рдбреАрдПрдордП рд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХреЗ рд╕рд╛рде рдбреАрдПрд╕реА рдХреЛ рдЪрд▓рд╛рдирд╛ рд╣реИред рдЯрд╛рдЗрдорд░ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЛ рдмрджрд▓рдХрд░, рдЖрдк рдЙрддреНрдкрдиреНрди рд╕рд┐рдЧреНрдирд▓ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
"
рдХреНрд▓рд╛рд╕рд┐рдХ " рддрд░рдВрдЧреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рд╕рд╛рдЗрдирд╕реЙрдЗрдбрд▓, рдореЗрдиреНрдбрд┐рдпрд░, рддреНрд░рд┐рдХреЛрдгреАрдп рдФрд░ рдЖрд░реАред

рдмрдлрд░ рдореЗрдВ рдЗрди рддрд░рдВрдЧреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рдЖрдкрдХреЛ рд╕рд░рдгреА рдХреА рд╢реБрд░реБрдЖрдд, рд╕рд░рдгреА рдХреЗ рдЖрдХрд╛рд░, рдЕрдзрд┐рдХрддрдо рдорд╛рди рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рддрд░рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдХреЙрд▓ рдХреЗ рдмрд╛рдж, рд╕рд░рдгреА рдЖрд╡рд╢реНрдпрдХ рдЖрдХрд╛рд░ рдХреА рдПрдХ рд▓рд╣рд░ рдХреЗ рд▓рд┐рдП рдирдореВрдиреЛрдВ рд╕реЗ рднрд░ рдЬрд╛рдПрдЧреА рдФрд░ рдЖрдк рд╕рдордп-рд╕рдордп рдкрд░ рдбреАрдПрд╕реА рдореЗрдВ рдирдП рдореВрд▓реНрдп рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдорд░ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ DAC рдХреА рдПрдХ рд╕реАрдорд╛ рд╣реЛрддреА рд╣реИ: рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд╕рдиреЗ рдХрд╛ рд╕рдордп (
DAC рдореЗрдВ рдирдпрд╛ рдорд╛рди рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛
рд╕рдордп рдФрд░ рдЬрдм рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ ) 3 ms рд╣реИред рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИ - рдпрд╣ рд╕рдордп рдЕрдзрд┐рдХрддрдо рд╣реИ, рдЕрд░реНрдерд╛рддреНред рдиреНрдпреВрдирддрдо рд╕реЗ рдЕрдзрд┐рдХрддрдо рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиред рдЬрдм рдореЗрдиреНрдбрд░ рдХреЛ рд╡рд╛рдкрд╕ рд▓реЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдпреЗ рд▓рд┐рдЯрд░реЗрдб рдореЛрд░реНрдЪ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ:

рдпрджрд┐ рдПрдХ рд╕рд╛рдЗрдирд╕реЛрдЗрдбрд▓ рддрд░рдВрдЧ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ, рддреЛ рддрд░рдВрдЧреЛрдВ рдХреЗ рдХрд╛рд░рдг рдореЛрд░реНрдЪреЛрдВ рдХреА рд░реБрдХрд╛рд╡рдЯ рдЕрдм рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдЖрд╡реГрддреНрддрд┐ рдмрдврд╝ рдЬрд╛рддреА рд╣реИ, рддреЛ рд╕рд╛рдЗрдирд╕реЛрдЗрдбрд▓ рд╕рд┐рдЧреНрдирд▓ рддреНрд░рд┐рдХреЛрдгреАрдп рдПрдХ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд╕рд╛рде, рд╕рдВрдХреЗрдд рдЖрдпрд╛рдо рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
1 KHz ( 90% рдЖрдпрд╛рдо ) рдкрд░ рдЬрдирд░реЗрд╢рди:
10 KHz ( 90% рдЖрдпрд╛рдо ) рдкрд░ рдЬрдирд░реЗрд╢рди:
100 KHz ( 90% рдЖрдпрд╛рдо ) рдкрд░ рдЬрдирд░реЗрд╢рди:
рдЪрд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реЗ рд╣реИрдВ - рдХреНрдпреЛрдВрдХрд┐ рдирдП рдбреЗрдЯрд╛ рдХреЛ 4 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдбреАрдПрд╕реА рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, sawtooth рд╕рд┐рдЧреНрдирд▓ рдХрд╛ рдЕрдиреБрдЧрд╛рдореА рдХрд┐рдирд╛рд░реЗ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдВрдХреЗрдд рдХреЗ рдиреАрдЪреЗ рд╕реЗ рдЙрд╕ рдореВрд▓реНрдп рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдкрд╛рд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рдореНрди рд╕реНрддрд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдирдП рдореВрд▓реНрдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реИ
200 KHz ( 90% рдЖрдпрд╛рдо ) рдкрд░ рдЬрдирд░реЗрд╢рди:
рдпрд╣рд╛рдВ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рднреА рддрд░рдВрдЧреЗрдВ рддреНрд░рд┐рдХреЛрдг рдореЗрдВ рдХреИрд╕реЗ рдмрджрд▓ рдЧрдИрдВред
рдбрд┐рдЬрд┐рдЯрд▓ рдЪреИрдирд▓
рдбрд┐рдЬрд┐рдЯрд▓ рдЪреИрдирд▓реЛрдВ рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ - рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рдЯрд╛рдЗрдорд░ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдкреАрдбрдмреНрд▓реВрдПрдо рд╕рд┐рдЧреНрдирд▓ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред 32-рдмрд┐рдЯ рдЯрд╛рдЗрдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдЯрд╛рдЗрдорд░ рдкреНрд░реА-рдЯрд╛рдЗрдорд░ рдХреЛ рдЧрд┐рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдПрдХ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдЕрд╡рдзрд┐ рд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рджреВрд╕рд░реЗ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдХрд░реНрддрд╡реНрдп рдЪрдХреНрд░ рд▓реЛрдб рдХрд░реЗрдВред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЪрд╛рд░ рдЖрдпрддреЛрдВ рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рд╕рд┐рдЧреНрдирд▓, рдЖрд╡реГрддреНрддрд┐ рдФрд░ рдЖрдпрд╛рдо / рдХрд░реНрддрд╡реНрдп рдЪрдХреНрд░ рдХреА рдПрдХ рддрд╕реНрд╡реАрд░ рдереАред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЪрдпрдирд┐рдд рдЪреИрдирд▓ рдХреЗ рд▓рд┐рдП, рдкрд╛рда рдбреЗрдЯрд╛ рдХреЛ рд╕рдлреЗрдж рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдмрд╛рдХреА рдХреЗ рд▓рд┐рдП рдЧреНрд░реЗ рдореЗрдВред

рдПрдиреНрдХреЛрдбрд░ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛: рдмрд╛рдпрд╛рдВ рдПрдХ рдЖрд╡реГрддреНрддрд┐ рдФрд░ рд╡рд░реНрддрдорд╛рди рдЪрдпрдирд┐рдд рдЪреИрдирд▓ (
рдмрдЯрди рджрдмрд╛рдП рдЬрд╛рдиреЗ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрди ) рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рд╕рд╣реА рдПрдХ рдЖрдпрд╛рдо / рдХрд░реНрддрд╡реНрдп рдЪрдХреНрд░ рдФрд░ рддрд░рдВрдЧ (
рдмрдЯрди рджрдмрд╛рдП рдЬрд╛рдиреЗ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрди ) рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯрдЪ рд╕реНрдХреНрд░реАрди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЬрдм рдЖрдк рдПрдХ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдЪреИрдирд▓ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдХреНрд░рд┐рдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рдЖрдк рдПрдХ рд╕рдХреНрд░рд┐рдп рдЪреИрдирд▓ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рддрд░рдВрдЧ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред
рдмреЗрд╢рдХ, рджреЗрд╡рдХреЛрд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдпрд╣ рд╕рдм рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдФрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рд╕рднреА UI рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд╡рд╛рд▓реА рд╕рдВрд░рдЪрдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЖрд░рдВрднреАрдХрд░рдг рдХреЛрдб рд╕реНрдХреНрд░реАрди рдЕрдкрдбреЗрдЯ рдХреЛрдб for(uint32_t i = 0U; i < CHANNEL_CNT; i++) { ch_dsc[i].img.SetImage(waveforms[ch_dsc[i].waveform]); snprintf(ch_dsc[i].freq_str_data, NumberOf(ch_dsc[i].freq_str_data), "Freq: %7lu Hz", ch_dsc[i].frequency); if(IsAnalogChannel(i)) snprintf(ch_dsc[i].duty_str_data, NumberOf(ch_dsc[i].duty_str_data), "Ampl: %7d %%", ch_dsc[i].duty); else snprintf(ch_dsc[i].duty_str_data, NumberOf(ch_dsc[i].duty_str_data), "Duty: %7d %%", ch_dsc[i].duty);
рдмрдЯрди рдХреНрд▓рд┐рдХ рдХрд╛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣
рдПрдХ рдЖрдпрдд рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╢реЗрд╖ рддрддреНрд╡ рдЦреАрдВрдЪреЗ рдЬрд╛рддреЗ рд╣реИрдВ )ред рдпрджрд┐ рдЖрдкрдиреЗ рдХреЛрдб рдХреЛ рджреЗрдЦрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП:
ch_dsc [i] .box.SetCallback (& тАЛтАЛCallback, this, nullptr, i); рдПрдХ рдкрд╛рд╢ рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдХрд╛рдо рд╣реИ рдЬрд┐рд╕реЗ рдмрдЯрди рджрдмрд╛рдП рдЬрд╛рдиреЗ рдкрд░ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдХреНрд▓рд╛рд╕ рдХреЗ рд╕реНрдерд┐рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕реНрдереИрддрд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрддрд╛, рдпрд╣ рдкреЙрдЗрдВрдЯрд░, рдФрд░ рджреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╛рд╕ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ - рдПрдХ рдкреЙрдЗрдВрдЯрд░ (
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ - nullptr рдкрд╛рд╕ рд╣реИ рдФрд░ рдПрдХ рдирдВрдмрд░ (
рдЪреИрдирд▓ рдирдВрдмрд░ рдкреНрд░реЗрд╖рд┐рдд рд╣реИ )ред
рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдХреА рдмреЗрдВрдЪ рд╕реЗ, рдореБрдЭреЗ рдпрд╣ рдпрд╛рдж рд╣реИ рдХрд┐ "
рд╕реНрдЯреЗрдЯрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЧреИрд░-рд╕реНрдерд┐рд░ рд╡рд░реНрдЧ рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХреА рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИ ред" рддреЛ рдпрд╣
рд╕рдЪ рдирд╣реАрдВ рд╣реИ ред рдЪреВрдБрдХрд┐ рдПрдХ рд╕реНрдерд┐рд░ рдХрд╛рд░реНрдп рдПрдХ рд╡рд░реНрдЧ рдХрд╛ рд╕рджрд╕реНрдп рд╣реЛрддрд╛ рд╣реИ,
рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рд╕рднреА рд╕рджрд╕реНрдпреЛрдВ рддрдХ рдЙрд╕рдХреА рдкрд╣реБрдБрдЪ рд╣реЛрддреА рд╣реИ, рдпрджрд┐ рдЙрд╕рдХрд╛ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ / рдкреЙрдЗрдВрдЯрд░ рд╣реЛрддрд╛ рд╣реИред рдЕрдм рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:
рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ, "
рдЬрд╛рджреВ " рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЖрдк рдирд┐рдЬреА рд▓реЛрдЧреЛрдВ рд╕рд╣рд┐рдд рдХрдХреНрд╖рд╛ рдХреЗ рдХрд┐рд╕реА рднреА рд╕рджрд╕реНрдп рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВред
рд╡реИрд╕реЗ, рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛рд░реНрдп (
рд╕реНрдХреНрд░реАрди рдХреЛ рд░реЗрдВрдбрд░ рдХрд░рдирд╛ ) рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдЖрдкрдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рд╕рд░рд▓ "
рд╢рд╛рдо рдХреА рдЬреЛрдбрд╝реА " рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдореИрдВрдиреЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред
рдЬрдирд░реЗрдЯрд░ рд╕реНрд░реЛрдд рдХреЛрдб GitHub рдкрд░ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛:
https://github.com/nickshl/WaveformGeneratorрдЕрдм
DevCore рдХреЛ рдПрдХ рдЕрд▓рдЧ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдПрдХ
рд╕рдмрдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЦреИрд░, рдореБрдЭреЗ рд╕рд┐рдЧреНрдирд▓ рдЬрдирд░реЗрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдпрд╣ рдЕрдЧрд▓реЗ (
рдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕реЗ рдПрдХ ) рд▓реЗрдЦ рдореЗрдВ рд╣реЛрдЧрд╛ред