
рд╣рдо рдХреЛрдб рдЧреБрдгрд╡рддреНрддрд╛ рдкрд░ рдХрд┐рд╕реА рднреА рдЪреИрдЯрд┐рдВрдЧ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХ, рдЫрд╛рддреНрд░ рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рд╕рднреА рдХреЛрдиреЛрдВ рд╕реЗ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рднрд▓реЗ рд╣реА рджреЗрд╢, рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдпрд╛ рднрд╛рд╖рд╛ред рд╡реИрд╕реЗ, рднрд╛рд╖рд╛ рдмреЛрд▓рдирд╛, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдирд╣реАрдВред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдмреАрдЪ, рд╣рдо рдЕрднреА рддрдХ рдПрдХ рд╕реАрдорд┐рдд рд╕реЗрдЯ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдЕрднреА, рдпрд╣ C, C ++, C # рдФрд░ Java рд╣реИред рд╕рдВрдЪрд╛рд░ рд╕реЗ рдХрдИ рд▓рд╛рдн рд╣реИрдВред рд╣рдо рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЛ рддреБрд░рдВрдд рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИрдВред рдЕрдХреНрд╕рд░ рд╣рдо рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рд╕рдордЭрд╛рдХрд░ рдХрд┐рд╕реА рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рд╣рд╛рде рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬреЛ рдЧрд▓рддрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВред рдпрд╣ рдиреЛрдЯ рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред
рдПрдирд╛рд▓рд╛рдЗрдЬрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
PVS-Studio рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ рдЬрд┐рд╕реЗ C, C ++, C # рдФрд░ Java рдореЗрдВ рд▓рд┐рдЦреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕ рдФрд░ рдореИрдХрдУрдПрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╣рдорд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреАрди рдлреАрдбрдмреИрдХ рдлреЙрд░реНрдо рд╣реИрдВ:
- рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛
- рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдЕрдиреБрд░реЛрдз
- рдореВрд▓реНрдп рдЕрдиреБрд░реЛрдз
рдЧреБрд░реБрд╡рд╛рд░ рдХреА рд░рд╛рдд
рдПрдХ рд╕рдХреНрд░рд┐рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд┐рд╕рдиреЗ рдЕрдкрдиреЗ рдХреЛрдб рдкрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЭреВрдареА рдЪреЗрддрд╛рд╡рдиреА рднреЗрдЬрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рдЬрд╡рд╛рдм рджреЗ рдкрд╛рддрд╛, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 3 рдИрдореЗрд▓ рдереЗред рдпрд╣ рдХрд╛рд░реНрдп рджрд┐рд╡рд╕ рдХрд╛ рдЕрдВрдд рдерд╛ рдФрд░ рдореИрдВ рдердХрд╛ рд╣реБрдЖ рдерд╛ (рдореИрдиреБрдЕрд▓ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЗ рд╕рд╡рд╛рд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЛрд▓ рд░рд╣рд╛ рдерд╛)ред рд╣рдорд╛рд░реА рдЯреАрдо рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдПрдХ рдЙрдЪреНрдЪ-рдЬрд╛рд░реА рд░рд┐рд╣рд╛рдИ рдХреА рддреИрдпрд╛рд░реА рдХрд░ рд░рд╣реА рдереА, рдЬреЛ рдХреБрдЫ рджрд┐рди рджреВрд░ рдерд╛ред
рдореИрдВрдиреЗ рд╢реБрдХреНрд░рд╡рд╛рд░ рдХреЛ рдпрд╛ рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдХреЗ рджреМрд░рд╛рди рднреА рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛:
рд╣реИрд▓реЛ рдХреЙрдиреНрд╕реНрдЯреИрдВрдЯрд╛рдЗрдирд╣рдо рдЖрдкрдХреА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗред рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдореИрдВ рд╕рдВрджрд┐рдЧреНрдз рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░реВрдВрдЧрд╛ :-)рдпрд╣ рдиреЛрдЯ рд╕реНрдЯреЗрдЯрд┐рдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдореИрдиреБрдЕрд▓ рдХреЛрдб рдХреА рд╕рдореАрдХреНрд╖рд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджрд┐рди рдХреЗ рдЕрдВрдд рдореЗрдВ рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЬрд╛рдВрдЪ рд╕реЗ рдиреАрдЪ рд╣реЛрдЧреАред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЕрдиреБрдорддрд┐ рд╕реЗ, рдореИрдВ рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рдореЗрд▓ рдХрд╛ рд╣рд╡рд╛рд▓рд╛ рджреВрдВрдЧрд╛:
рдИрдореЗрд▓ 1рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХ V712 рдЪреЗрддрд╛рд╡рдиреА:uint32_t StartUpCounter = 0, HSEStatus = 0; RCC->CR |= ((uint32_t)RCC_CR_HSEON); { HSEStatus = RCC->CR & RCC_CR_HSERDY; StartUpCounter++; } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));
рдИрдореЗрд▓ 2рдЙрд╕реА рдЯреБрдХрдбрд╝реЗ рдХреЗ рд▓рд┐рдП V715 рдЧрд▓рдд рд╕рдХрд╛рд░рд╛рддреНрдордХ: {
рдИрдореЗрд▓ 3рдкрд╡рд┐рддреНрд░ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ, рдРрд╕реА рдкреНрд░реЗрддрд╡рд╛рдзрд┐рдд рдЬрдЧрд╣! рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЙрд╕реА рдЯреБрдХрдбрд╝реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддрд╛ рд╣реИ (рдкрд┐рдЫрд▓реЗ рдИрдореЗрд▓ рд╕реЗ рдХреЛрдб рджреЗрдЦреЗрдВ):V560 рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ: (StartUpCounter! = ((Uint16_t) 0x5000))ред lpmode.cpp 356V776 рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЕрдирдВрдд рд▓реВрдкред рд▓реВрдк рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЪрд░ 'HSEStatus == 0' рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдкрдирд╛ рдорд╛рди рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред lpmode.cpp 356рд╢рд╛рдпрдж рдореБрдЭреЗ рдХреБрдЫ рди рдорд┐рд▓реЗ? рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо рд╕рдордп-рд╕рдордп рдкрд░ рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддреЗ рд╣реИрдВ ;-)рдИрдореЗрд▓ 4 (рдЙрддреНрддрд░)рд╣реИрд▓реЛ рдХреЙрдиреНрд╕реНрдЯреИрдВрдЯрд╛рдЗрдирд╣рдо рдЖрдкрдХреА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗред рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдореИрдВ рд╕рдВрджрд┐рдЧреНрдз рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░реВрдВрдЧрд╛ :-)рдИрдореЗрд▓ 5рдзрд┐рдХреНрдХрд╛рд░ рд╣реИ! рдЖрдкрдХреЗ рдИрдореЗрд▓ рдХреЗ рдмрд╛рдж рд╣реА, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХрдерди "рдбреВ" рдорд┐рд╕ рд╣реЛ рдЧрдпрд╛ ... рдЖрдЦрд┐рд░рдХрд╛рд░, рд╕рднреА рдПрдХ рдЦрд╛рдВрдЪреЗ рдореЗрдВ рдЧрд┐рд░ рдЧрдП! рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрдиреА рдЖрдВрдЦ рдХреА рддреАрдХреНрд╖реНрдгрддрд╛ рдЦреЛ рджрд┐рдпрд╛ рд╣реВрдВ)do {...} рдЬрдмрдХрд┐ (...);рдирд┐рд╖реНрдХрд░реНрд╖
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдПрдХ рд╣реА рдЯреБрдХрдбрд╝реЗ рдХреЗ рд▓рд┐рдП 4 рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЪреЗрддрд╛рд╡рдиреА рдереЗ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдореЗрдВ рд╕рдордп рд▓рдЧрд╛ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдереАред рдРрд╕реЗ рдореЗрдВ рдореИрдиреБрдЕрд▓ рд░рд┐рд╡реНрдпреВ рдХрд╛ рднреА рдореМрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ред
рд╕реБрдЦрдж рдЕрдВрдд рдХреЗ рд╕рд╛рде рдПрдХ рдРрд╕реА рд╣реА рдХрд╣рд╛рдиреА: "
рдХреИрд╕реЗ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рддреАрди рдФрд░ рдПрдХ рдЖрдзреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реЗ рдЕрдзрд┐рдХ рдЪреМрдХрд╕ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдмрд┐рдд рд╣реБрдЖ "
рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд╡реЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдб рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЛрдб рдХреЛ рдЧреБрдгрд╡рддреНрддрд╛ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред