STM32F103C8T6 - рдкрд╣рд▓рд╛ рдЪрд░рдгред рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдк рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ

рдПрд╡реАрдЖрд░ рдХреЗ рдмрд╛рдж рдПрд╕рдЯреАрдПрдо 32 рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рдкрд░рд┐рдЪрд┐рддреЛрдВ рдХреА рдЦреБрд╢рд┐рдпреЛрдВ рдФрд░ рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рд╕рд░рд▓рддрдо рдХрд╛рд░реНрдп рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рд╣реИ - рдПрдХ рдкреАрд╕реА рдкрд░ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ред


AVR рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдиреБрднрд╡ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЙрди рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬреЛ ATMEGA328 ( 1.4 рдбреЙрд▓рд░ / рдпреВрдирд┐рдЯ ) рдХреА рдХреАрдордд рдкрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдкрд╣реБрдВрдЪреЗ (рдЬреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ $ 1.7 / рдпреВрдирд┐рдЯ рдХрд╛ рдЦрд░реНрдЪ рдХрд░рддреЗ рд╣реИрдВ )ред
ATmega328STM32F103C8T6рдЬреАрдд, рд╕рдордп
рдлреНрд▓реИрд╢, рдХреЗрдмреА32642
рд░реИрдо, рдХреЗрдмреА2рдмреАрд╕10
рдЕрдзрд┐рдХрддрдо рдЖрд╡реГрддреНрддрд┐, рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬрдмреАрд╕723.6
рдПрдбреАрд╕реА рдХреА рдЧрддрд┐, рдХреЗрдПрд╕рдкреАрдПрд╕рдкрдВрджреНрд░рд╣2 * 1000 (рдУрд╡рд░рдХреНрд▓реЙрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)133

10-100 рдмрд╛рд░ рдкреНрд░рджрд░реНрд╢рди рд╕рдВрдХреЗрддрдХреЛрдВ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рдЦрд┐рд▓рд╛рдл, рдлреНрд▓реИрд╢ рдХреЗрд╡рд▓ 2 рдЧреБрдирд╛ рдмрдврд╝рд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрди 64 kB рдХреЛ AVR рдкрд░ рд▓рдЧрднрдЧ 32 рд╕реЗ рдЕрдзрд┐рдХ рддреЗрдЬреА рд╕реЗ рдЦрдкрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕реЗ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ рдЬрд╣рд╛рдВ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдХреЛрдб-рдЧрд╣рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдирд╣реАрдВ рд╣реИрдВ ... рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдкред

рдбрд┐рдмрдЧ рдмреЛрд░реНрдбреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐: рдмрд╛рдПрдВ рд╕реЗ рджрд╛рдПрдВ:
рдЫрд╡рд┐

  • Arduino UNO (ATmega328P), $ 3.59 ;
  • рд╣рдорд╛рд░рд╛ рдмреЛрд░реНрдб, рдЬрд┐рд╕реЗ рд╣рдо (STM32F103C8T6), $ 4.97 рдХреЛ рдкреАрдбрд╝рд╛ рджреЗрдВрдЧреЗ ;
  • STM32F103C8T6, $ 3.92 рдкрд░ рдПрдХ рдФрд░ рдбрд┐рдмрдЧ рдмреЛрд░реНрдб ;
  • Arduino Nano (ATmega328P), 2.23 - $ 2.56 ред


рдХреИрд╕реЗ рдХрд░реЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо


рдХрдИ рдмреЗрд╣рддрд░реАрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИрдВ STM32 - IAR, Keil, Coocox ... рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рдЙрдкрдпреБрдХреНрдд рдорд┐рд▓реЗрдЧрд╛ред рдлрд┐рд░ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдРрд╕реЗ рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рд╣реБрдЖред рдмрд╕ рдХрд┐рд╕реА рдиреЗ рдмрд╣реБрдд рдЕрдЪреНрдЫреА IDE рдирд╣реАрдВ рдмрдирд╛рдИред рджреВрд╕рд░реЛрдВ рдиреЗ рдЗрд╕реЗ рджреЗрдЦрд╛ рдФрд░ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рд╡реЗ рдмреЗрд╣рддрд░ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд┐рдпрд╛ред рдХреБрдЫ рдорд╛рдпрдиреЛрдВ рдореЗрдВ рдпрд╣ рдмреЗрд╣рддрд░ рдирд┐рдХрд▓рд╛, рдХреБрдЫ рдмрджрддрд░ рдореЗрдВред рд╕рдореАрдХреНрд╖рд╛рдУрдВ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ IAR рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ Coocox рдкрд░ рдмрд╕ рдЧрдпрд╛ред

рдПрдХ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИ - STM32CubeMXред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ AVR рдХреА рддреБрд▓рдирд╛ рдореЗрдВ STM32 рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкрд░рд┐рдзреАрдп рд╣реИрдВред рдЗрд╕рдХреА рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛ рдЬреНрдпрд╛рджрд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред STM32CubeMX рдЖрдкрдХреЛ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдПрдХ рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рд╣рд╛рд░ рдФрд░ рдПрдХ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╣рдо рдЗрд╕ рдЙрддреНрдкрдиреНрди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ STM32CubeMX рдореЗрдВ рдкрд┐рдирдЖрдЙрдЯ рдФрд░ рдХреНрд▓реЙрдХ рд╕реНрдХреАрдо рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд╡рд┐рднрд╛рдЬрдХреЛрдВ, рдХрд╛рд░рдХреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВ! рд╕рднреА рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ!

STMStudio рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИ рдЬреЛ рдПрдордХреЗ рдореЗрдВ рдЪрд░ рдорд╛рдиреЛрдВ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ $ 2.6 рдХреЗ рд▓рд┐рдП рд╕рд╕реНрддреЗ ST-Link V2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ ред
рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓рддрд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред JTAG рдкрд┐рдирдЖрдЙрдЯ рд▓реЗрдВ,


ST-Link рдкрд░ рдЪрд┐рддреНрд░ рджреЗрдЦреЗрдВ, рдФрд░ рд▓реАрдб (ST-LINK -> JTAG) рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ:



  • рдЬреАрдПрдирдбреА -> рдкрд┐рди 20;
  • 3.3V -> рдкрд┐рди 1;
  • рдЖрд░рдПрд╕рдЯреА -> рдкрд┐рди 15;
  • SWCLC -> рдкрд┐рди 9;
  • SWDIO -> рдкрд┐рди 7ред

CoIDE рдЪрд▓рд╛рдПрдВ, рд▓рд┐рдЦреЗрдВ
рдЭрдкрдХреА
#include "stm32f10x.h"
int main(void)
{
	RCC->APB2ENR |= RCC_APB2Periph_GPIOC; //   
	GPIOC->CRH |= (0x3 << 20); //   50 
	GPIOC->CRH &= (~(0xC << 20)); //      -
	volatile long i = 0;
	while(1)
	{
		GPIOC->BSRR = GPIO_BSRR_BR13;
		for(i = 0; i < 1000*1000*5; i++){;};
		GPIOC->BSRR = GPIO_BSRR_BS13;
		for(i = 0; i < 1000*1000*5; i++){;};
	}
}

, AVR, , 2264 FlashтАж , AVR .
тАФ 2176 .
STDLIB тАФ 1476 .

рд╕рдВрдХрд▓рди, рдлреНрд▓реИрд╢ ... рдФрд░ рдпрд╣ рд╕рдм рддреБрд░рдВрдд рдХрд╛рдо рдХрд┐рдпрд╛! рдмрд┐рдирд╛ рдХрд┐рд╕реА рддрдорд╛рд╢рдмреАрди рдХреЗ рдирд╛рдЪрддреЗ рд╣реБрдП! рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрди-рд╕рд░реНрдХрд┐рдЯ рдбрд┐рдмрдЧрд░ рдиреЗ рднреА рдХрд╛рдо рдХрд┐рдпрд╛! рд╣рдо STMStudio рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ - рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдПрдордХреЗ рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдЪрд░ рдХреЗ рд░реЗрдЦрд╛рдВрдХрди рдмрдирд╛рддрд╛ рд╣реИ! рдмреЛрд░реНрдб рдкрд░ рдЬрдВрдкрд░реНрд╕ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдПрдордХреЗ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдиреЗ / рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ! рдмрд╕ рдПрдХ Arduino рдХреЗ рд╕рд╛рде рдХреА рддрд░рд╣! рдЦреИрд░, рдпрд╣ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ ... рд▓реЗрдХрд┐рди рдпрд╣ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред

рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдк рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ


рдореЗрд░реЗ рд╕рдкрдиреЛрдВ рдореЗрдВ, рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдк рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
рджреЛрдиреЛрдВ рдПрдбреАрд╕реА рдПрдХ рд╕рд╛рде 1-2 рдПрдордПрд╕рдкреАрдПрд╕ рдХреА рдЧрддрд┐ рд╕реЗ рд╕рд┐рдЧреНрдирд▓ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рд╣реИрдВред рдЕрдЧрд▓реЗ 2 рд╡рд┐рдХрд▓реНрдк:
  1. рдпрд╣ рд╕рдм рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдпреВрдПрд╕рдмреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреАрд╕реА рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд╣рд╛рдВ рдПрдХ рдирд┐рд░реНрдгрдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ (рдпрд╛рдж рд░рдЦреЗрдВ, рдПрдХ рдЧреНрд░рд╛рдл рдмрдирд╛рдПрдВ, рдЗрд╕реЗ рдХрд┐рд╕реА рддрд░рд╣ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдВ, ...);
  2. . : (, , , ). .

рдпреЗ рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХреЗред
рдкрд╣рд▓рд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ USB рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рдмрд▓реНрдХрд┐, рдореИрдВ рдХреЗрд╡рд▓ STM32CubeMX рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рддреИрдпрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЗрд╕реЗ CoIDE рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ / рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЬрдВрдкрд░реНрд╕ рдХреЗ рд╕рд╛рде рдмреВрдЯрд▓реЛрдбрд░ рдХреЛ рдмрджрд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдЬреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ред рдареАрдХ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпреВрдПрд╕рдмреА рдХреА рдЧрддрд┐ рдХреЗрд╡рд▓ 12 рдПрдордмреА / рдПрд╕ рд╣реИред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЙрдЪреНрдЪ рдЧрддрд┐ рдкрд░ рдбреЗрдЯрд╛ рдЕрднреА рднреА рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдХрд┐рд╕реА рддрд░рд╣ рдбреЗрдЯрд╛ рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ Arduino Pro Mini рдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрд╕ рд╕рдордп рдЦрд░реАрджреЗ рдЧрдП USB <-> UART рдХрдирд╡рд░реНрдЯрд░ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ ред рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдХрд╡рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рдзрд╛ рд╣реИрдВрдбрд▓рд░ ADC рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рд░рд╣рддрд╛ рд╣реИред рдЧрддрд┐ рдХреЗрд╡рд▓ 340-500 kSPS рддрдХ рд╕реАрдорд┐рдд рдереА, рдЬреЛ рдЙрдореНрдореАрдж рд╕реЗ рдХрдИ рдЧреБрдирд╛ рдХрдо рд╣реИред





рдПрдХрдорд╛рддреНрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЙрдЪреНрдЪ рдЧрддрд┐ рд╡рд┐рдХрд▓реНрдк рдпрд╣ рдирд┐рдХрд▓рд╛: рдПрдбреАрд╕реА рд▓рдЧрд╛рддрд╛рд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рд╣рдореЗрдВ рдкреИрдорд╛рдЗрд╢ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдбреАрдПрдордП рдЪрд╛рд▓реВ рдХрд░реЗрдВ, рдмрдлрд░ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ, рдбреАрдПрдордП рдмрдВрдж рдХрд░реЗрдВ рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдпреВрдПрд╕рдПрдЖрд░рдЯреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреАрд╕реА рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рд╕рднреА рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЛ рдкрд╛рд░ рдХрд░ рдЧрдпрд╛ред рдПрдордХреЗ рдХреЛ рдУрд╡рд░рдХреНрд▓реЙрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рджреЛ рдПрдбреАрд╕реА рдХреЗ рд╕рд╛рде 9 рдПрдордПрд╕рдкреАрдПрд╕ рдирд┐рдХрд▓рд╛! рдЙрдиред рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ 4.5 рдЧреБрдирд╛ рдЕрдзрд┐рдХ! рдЗрд╕реА рд╕рдордп, 1 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рддрдХ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдХреЗрдд рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд░рд╛рдорджрд╛рдпрдХ рд╣реИред рд╣рдордиреЗ Arduino (10 kSPS) рдкрд░ рдкрд╣рд▓реЗ рдЬреЛ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдерд╛, рдЙрд╕рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдкрд░рд┐рдгрд╛рдо рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ - рдЧрддрд┐ рдореЗрдВ 900 рдЧреБрдирд╛ рдХреА рд╡реГрджреНрдзрд┐ рд╣реБрдИ!

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдУрд╡рд░рдХреНрд▓реЙрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рд╣рд░реНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, USB рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрд╡реГрддреНрддрд┐ рдХреЛ 16/9 = 1.8 рдЧреБрдирд╛ рдХрдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдХреЗрд╡рд▓ 5 MSPS рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреЗред

рдпреВрдПрд╕рдмреА рдФрд░ рдЕрдиреНрдп рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реБрдП, рдореБрдЭреЗ рдЗрди рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреА рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдореА рдХрд╛ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ - рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдмрд╣реБрдд рдХрдо рдЬрд╛рдирдХрд╛рд░реА рд╣реИред рдпрджрд┐ AVR рдХреЗ рдкрд╛рд╕ рд╣рд░ рдЪреАрдЬ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реИ, рддреЛ рдлрд╛рд╕реНрдЯ рдЗрдВрдЯрд░рд▓реАрд╡реНрдб рдореЛрдб рдореЗрдВ рджреЛ рдПрдбреАрд╕реА рдХреЗ рдПрдХ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдЦреЛрдЬрдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ ред

Arduino UNO! рдХреЛ рдСрд╕рд┐рд▓реЛрд╕реНрдХреЛрдк рдЯреЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рд╕рд┐рдЧреНрдирд▓ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐ рд╡рд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдпрд╛ рдХреБрдЫ рдФрд░ ... рдпрд╣ рдмрд╣реБрдд рддреЗрдЬ рд╣реИред
8 рд▓рд╛рдЗрдиреЗрдВ рд▓рд┐рдЦреЗрдВ:
 void setup() {
  pinMode(2, OUTPUT);  
  long d = 10;
  for(;;){
    PORTD = 255;
    delayMicroseconds(d);
    PORTD = 0;  
    delayMicroseconds(d);
  }
}

void loop() {
  
}


USB + 1 рд╡рд╛рдпрд░рд┐рдВрдЧ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ (рддрд╛рдХрд┐ 3.3-рд╡реЛрд▓реНрдЯ STM32 5-рд╡реЛрд▓реНрдЯ рд╕рд┐рдЧреНрдирд▓ рд╕реЗ рди рдорд░реЗ, рд╕рд┐рдЧреНрдирд▓ 2 kor рд░реЗрд╕рд┐рд╕реНрдЯрд░ рд╕реЗ рд╣реЛрдХрд░ рдЬрд╛рддрд╛ рд╣реИ) рдФрд░ рдЖрдкрдХрд╛ рдХрд╛рдо рд╣реЛ рдЧрдпрд╛!

рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдХрд▓рд╛ (рдкреНрд░рддреНрдпреЗрдХ рдЫрд╡рд┐ рдХреЗ рддрд╣рдд рдПрдХ рдПрдирд╛рд▓реЙрдЧ рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдк рдХреА рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рд╣реА рд╕рдВрдХреЗрдд рдХреА рдПрдХ рддрд╕реНрд╡реАрд░ рд╣реИ): рд╕рд┐рдЧреНрдирд▓ рдХреА рдЕрд╡рдзрд┐ 0.9 рд╕реЗрдХрдВрдбред 1 рдореАрдЯрд░ = 10 рдкрд┐рдХреНрд╕реЗрд▓ред рдСрд╕рд┐рд▓реЛрд╕реНрдХреЛрдк рдкрд░, 1 рдбрд┐рд╡реАрдЬрди = 0.5 ╬╝sред рд╕рд┐рдЧреНрдирд▓ рдХреА рдЕрд╡рдзрд┐ 10 ╬╝sред 1 рдореАрдЯрд░ = 5 рдкрд┐рдХреНрд╕реЗрд▓ред рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдк рдкрд░, 1 рд╡рд┐рднрд╛рдЬрди = 2 ╬╝sред рд╕рдмрд╕реЗ рдКрдкрд░ рдХрдЯрд╛ рд╣реБрдЖ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдХреЗрдд рдПрдбреАрд╕реА рд╕рдВрджрд░реНрдн рд╡реЛрд▓реНрдЯреЗрдЬ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред









рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реЛрдЧрд╛


рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ:
  1. USB рдХрдирд╡рд░реНрдЯрд░ рдХреЛ рддреНрдпрд╛рдЧрдиреЗ рдХреЗ рд▓рд┐рдП USB рдХреЛ рд╣рд░рд╛рдПрдВ <-> USART;
  2. рдПрдирд╛рд▓реЙрдЧ рднрд╛рдЧ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЗрдирдкреБрдЯ рд╡реЛрд▓реНрдЯреЗрдЬ рд╢реНрд░реЗрдгреА 0 - 3.3 рд╡реА рди рд╣реЛ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рд╕рднреНрдп рд╣реЛ;
  3. рдорд▓реНрдЯреА-рдЪреИрдирд▓ рдореЛрдб рдмрдирд╛рдПрдВ;
  4. рдПрдХ рдкреАрд╕реА рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рд▓рд╛рдЧреВ рдХрд░реЗрдВ;
  5. рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рддреИрдпрд╛рд░ рдбрд┐рд╡рд╛рдЗрд╕ рдмрдирд╛рдПрдВред


рдЕрдВрдд рдореЗрдВ, рдореИрдВ AVR рдХреА рддреБрд▓рдирд╛ рдореЗрдВ STM32 рдХреЗ рджреЛ рдкреНрд░рдХрдЯ рдиреБрдХрд╕рд╛рдиреЛрдВ рдХреА рдУрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ:
  1. рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдореЗрдВ рд╡реГрджреНрдзрд┐;
  2. рдкрд░рд┐рдзрд┐ рдХреА рдЬрдЯрд┐рд▓ рд╢реБрд░реБрдЖрдд, рдЬреЛ рд╕рд╛рдордЧреНрд░реА рдХреА рдХрдореА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреА рд╣реИред


рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреИрд╕реЗ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП, рдЗрд╕рдореЗрдВ 31 kB рдлрд╝реНрд▓реИрд╢ рд▓рд┐рдпрд╛ рдЧрдпрд╛ред
рдбрд┐рдмрдЧ рдмреЛрд░реНрдб рдХрд╛ рд╕рд░реНрдХрд┐рдЯ (рдЗрд╕реЗ рдвреВрдВрдврдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛)ред

рд▓реЗрдЦ рдХрд╛ рджреВрд╕рд░рд╛ рднрд╛рдЧред

Source: https://habr.com/ru/post/hi384723/


All Articles