рдХрдпрд╛рдордд рд▓рдбрд╝рдХрд╛ рдИрдПрд╕рдкреА 32

ESP32 рдХреЗ рд▓рд┐рдП рдХрдпрд╛рдордд рдЙрдкрд╕рд░реНрдЧ рдпрд╣-рдЕрдкрдиреЗ рдЖрдк рдкрд░ MCP23017 рдбреНрд░рд╛рдЗрд╡рд░ рдкрд░ рдЕрдВрдХрд▓рд╕ рдХреЗ рдмрдЯрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ



рдбреВрдо рдШрдВрдЯреЛрдВ рдХреА рдкреНрд░рддреНрдпрд╛рд╢рд╛ рдореЗрдВ , рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЪрд▓реА рдЖ рд░рд╣реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдмреЛрд░реНрдб рдЖрдпрд╛ред рдмрд╛рд╣рд░реА MCP23017 рдФрд░ CS4344 рдФрд░ рдХрдИ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЛ рдмреЛрд░реНрдб рдкрд░ рддрд▓рд╛рдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдмрдЯрди рдХреЗ рд▓рд┐рдП, I2C рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝реЗ MCP23017 рдкреЛрд░реНрдЯ рд╡рд┐рд╕реНрддрд╛рд░рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИ рдЬреЛ рдЖрдк рдЕрдВрдХрд▓ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред

рдмрд╛рд╣рд░реА рдПрдбреАрд╕реА CS4344 рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдПрд╕реНрдкреНрд░реЗрд╕рд┐рдл рджреНрд╡рд╛рд░рд╛ рдХрдпрд╛рдордд


рдкреЛрд░реНрдЯ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХрдпрд╛рдордд рдХреЛ рдЗрд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕рд╛ рдЯрд┐рдВрдХрд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдЕрдВрдд рдореЗрдВ, рд╕рдм рдХреБрдЫ рдПрдХ рд╕рд╛рде рдорд┐рд▓рд╛ рдФрд░ рдИрдПрд╕рдкреА 32 рдореЗрдВ рдмрд╛рдврд╝ рдЖ рдЧрдИ рд▓реЗрдХрд┐рди ... рдореИрдВрдиреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдПрдХ рджреБрд░реНрдШрдЯрдирд╛ рдкрдХрдбрд╝ рд▓реАред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЧрд┐рдЯрдм рдЗрд╢реНрдпреВ рдкрд░ рдореИрдВрдиреЗ рд╕рдорд╕реНрдпрд╛ рдХреА рдПрдХ рд╕рдорд╛рди рдЪрд░реНрдЪрд╛ рджреЗрдЦреА:



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

MCP23017 GPIO рдПрдХреНрд╕рдЯреЗрдВрдбрд░




MCP23017

рдирд┐рдпрдВрддреНрд░рдХ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде, рдореИрдВрдиреЗ MCP23017 рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдкреЛрд░реНрдЯ рдкрд░ рдереЛрдбрд╝рд╛ рдмрдЪрдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдпрд╣ I2C рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рд╕рд┐рдЧреНрдирд▓ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡рд┐рд╕реНрддрд╛рд░рдХ рд╣реИред рдореИрдВрдиреЗ рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдмрд╕ рдЗрд╕реЗ рдЕрдВрдХрд▓рд╕рд╕ рд╕реЗ рд▓рд┐рдпрд╛ ред

рдкрд╛рдБрдЪ рдмрдЯрди рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╢реЙрдЯ рдФрд░ рдореЗрдиреВ рдЪрдпрди рдкрд░ рдмрдЯрди рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ рдЕрднреА рднреА рджрд░рд╡рд╛рдЬреЗ рдЦреЛрд▓рдирд╛ рд╣реИ рдФрд░ рдмрд╛рдПрдВ рдФрд░ рджрд╛рдПрдВ рдореБрдбрд╝рдирд╛ рд╣реИ, рдпрд╛рдиреА рдХреЗрдХрдбрд╝реЗ рдХреА рддрд░рд╣ред рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдХреЛ MCP23017 рд╕реЗ VDD рддрдХ рдЦреАрдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрдкрд░реНрдХ рдЬрдореАрди рдкрд░ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ microcircuit рдХреЗ рдЕрдВрджрд░ рдкреБрд▓-рдЕрдк рдкреНрд░рддрд┐рд░реЛрдз рд╣реИрдВред рдПрдХ рдЕрднреА рднреА MCP23017 рд╕реЗ рд░реБрдХрд╛рд╡рдЯ рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреЛрд░реНрдЯ, INTA рдФрд░ INTB рдХреЗ рд▓рд┐рдП рджреЛ рдкрд┐рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдордпред

рдЯреАрдореЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА
static const JsKeyMap keymap[]={
	{0x10, &key_up},
	{0x40, &key_down},
	{0x80, &key_left},
	{0x20, &key_right},
	
	{0x4000, &key_use},				//cross
	{0x2000, &key_fire},			//circle
	{0x2000, &key_menu_enter},		//circle
	{0x8000, &key_pause},			//square
	{0x1000, &key_weapontoggle},	//triangle

	{0x8, &key_escape},				//start
	{0x1, &key_map},				//select
	
	{0x400, &key_strafeleft},		//L1
	{0x100, &key_speed},			//L2
	{0x800, &key_straferight},		//R1
	{0x200, &key_strafe},			//R2

	{0, NULL},
};


рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдмрдЯрди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдЯреМрддреА рдХрд░рдирд╛ рдЖрд╕рд╛рди рдерд╛ред рдореИрдВрдиреЗ рд╕реНрдерд┐рд░рддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП I2C рдХреА рдЖрд╡реГрддреНрддрд┐ рдХрдо рдХреАред рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдШреЛрд╖рд┐рдд 1MHz рдирд╣реАрдВ рдЧрдпрд╛ред 20 рдХрд┐рд▓реЛрдореАрдЯрд░ рдХреА рджреЗрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдЪрдХреНрд░ рдореЗрдВ рдорддрджрд╛рди рдХреЗ рд▓рд┐рдП 100kHz рдХреА рдЖрд╡реГрддреНрддрд┐ рдХрд╛рдлреА рдереАред

CMake


рдореИрдВрдиреЗ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП CMakeList.txt рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдмрд╣реБрдд рд╕рдордп рдорд╛рд░рд╛ред рдХреБрдЫ рдмрдирд╛рдиреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдФрд░ рдореИрдВ рдПрдХ рдлреНрд░реЗрд╢рд░ рдПрд╕рдбреАрдХреЗ рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдореВрд▓ рдмрдВрджрд░рдЧрд╛рд╣ 3.2.x рдкрд░ рднреА рдирд╣реАрдВ рдЬрд╛ рд░рд╣рд╛ рдерд╛ред Esp-idf-v3.3.1 рд▓рд┐рдпрд╛, рдпрд╣ рд╢рд╛рдпрдж esp-idf-4.0 рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛

DAC рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдзреНрд╡рдирд┐


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

рдпрд╣рд╛рдБ рдпреЛрдЬрдирд╛

рдЗрд╕ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд DAC рдХреЗ рдмрдЬрд╛рдп рдмрд╛рд╣рд░реА DAC рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдиреЗ рдореБрдЭреЗ рдкрдХрдбрд╝ рд▓рд┐рдпрд╛ред рдХрдо рд╕реЗ рдХрдо рд╕рд┐рд░рд╕ рд▓реЙрдЬрд┐рдХ рд╕реЗ рдкреЗрдиреАред



рдЖрдЧреЗ рдореИрдВрдиреЗ CS4344 рдкрд░ DAC рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреА рдФрд░ рдлрд┐рд░ рдореБрдЭреЗ рдирд┐рд░рд╛рд╢рд╛ рд╣реБрдИред рдзреНрд╡рдирд┐ рдиреЗ рд░реБрдХрд╛рд╡рдЯреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ред рдЬрдм рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ i_sound.c рджреЗрдЦреАрдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдПрдХ dma.h рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЬреИрд╕реЗ рдХрд┐ рдЙрд╕рдХрд╛ рдХреЛрдИ рд▓рд┐рдВрдХ рд╣реИ, рдФрд░ рд╡рд╣ рд╕реНрд╡рдпрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЧрдИ рд╣реИред рд╢рд╛рдпрдж рдореИрдВрдиреЗ рдЕрд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рджреЗрдЦрд╛? рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЗрдЦрдХ рдиреЗ рдпрд╣ рднреА рджреЗрдЦрд╛ рдХрд┐ рдзреНрд╡рдирд┐ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЧрд▓рдд рдерд╛ рдФрд░ рдЗрд╕реЗ рдЦрддреНрдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рд╢рд╛рдпрдж рдЦрддреНрдо рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдЕрдВрддрд┐рдо рдкреНрд░рддрд┐рдмрджреНрдз рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдЖрдВрддрд░рд┐рдХ рдбреАрдПрд╕реА рдкрд░ рдХрд╛рдо рдХрд░реЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдк рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд DAC рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдФрд░ рдПрдХ рдЫреЛрдЯреЗ рд╕реНрдкреАрдХрд░ рдХреЗ рд▓рд┐рдП рдзреНрд╡рдирд┐ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╡рд┐рд░реВрдкрдг-рд░реБрдХрд╛рд╡рдЯреЛрдВ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдмрд┐рдЯрд░реЗрдЯ рдФрд░ рд╕рдордЧреНрд░ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рдЦреЗрд▓рд╛ред рдпрд╣ рдХреБрдЫ рдирд╣реАрдВ рд▓рд╛рдпрд╛ред

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

    gpio_set_pull_mode(PIN_NUM_MOSI, GPIO_PULLUP_ONLY);
    gpio_set_pull_mode(PIN_NUM_MISO, GPIO_PULLUP_ONLY);
    gpio_set_pull_mode(PIN_NUM_CLK, GPIO_PULLUP_ONLY);
    gpio_set_pull_mode(PIN_NUM_CS, GPIO_PULLUP_ONLY);


рдЗрд╕ рдкрд░ рдореИрдВрдиреЗ рдпрд╣ рдкрд╛рда рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдФрд░ рдЧреАрдерд╣рдм рдкрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ ред

рдореБрджреНрд░рд┐рдд рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рдХрд╛ рдПрдХ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ред рдпрд╣ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ!


рд╡реАрдбрд┐рдпреЛ рдкрд░ рдХреЛрдИ рдЖрд╡рд╛рдЬрд╝ рдирд╣реАрдВ рд╣реИред

рдФрд░ рдЬрдм рдореИрдВрдиреЗ рдЯрд╛рдВрдХрд╛ рд▓рдЧрд╛рдпрд╛ рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдореЛрдбрд╝ рдХреЗ рд▓рд┐рдП рдЬреЙрдпрд╕реНрдЯрд┐рдХ рд╕рдВрдкрд░реНрдХ рднреА рдерд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкрд╣рд▓рд╛ рдкреИрдирдХреЗрдХ рд▓рдореНрдкрдЯ рд╣реЛрддрд╛ рд╣реИ

UPD

I рдПрдХ рдзреНрд╡рдирд┐ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рдЭрдЯрдХреЗ рдореМрдЬреВрдж рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрд▓реЛрдЪрдирд╛рддреНрдордХ рдирд╣реАрдВред рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди:

spi_lcd.c
dmamem[x]=heap_caps_malloc(MEM_PER_TRANS*2, MALLOC_CAP_DMA);

i_sound.c
void IRAM_ATTR updateTask(void *arg)
{
// size_t bytesWritten;
while(1)
{
I_UpdateSound();
i2s_write(I2S_NUM_0, mixbuffer, SAMPLECOUNT*SAMPLESIZE, &bytesWritten, portMAX_DELAY);
}
}


.dma_buf_count = 2,
.dma_buf_len = 512,


xTaskCreatePinnedToCore(&updateTask, "updateTask", 1000, NULL, 7, NULL, 0);

All Articles