STM32 рдореМрд╕рдо рд╕реНрдЯреЗрд╢рди, рдПрдирд╛рд▓реЙрдЧ рд╕рдВрдХреЗрдд

рд▓реЗрдЦ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж , рдореИрдВрдиреЗ рддреБрд░рдВрдд рдХрд╛рдо рдХрд░рдиреЗ рдХреА рддреИрдпрд╛рд░реА рдХреАред рдПрдХ рд▓рдХреНрд╖реНрдп рдерд╛:

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

рд╕реВрдЪрдХ рдФрд░ рдбреАрдПрд╕реА


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

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рднрд╛рдЧреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдмреЛрд░реНрдб рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдПрдХ рдкреИрдорд╛рдирд╛ рдмрдирд╛рдПрдВ:

DAC рдФрд░ рдкреЛрд░реНрдЯ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди:
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(GPIOA, &GPIO_InitStructure); // DAC: RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE); // DAC: DAC_InitTypeDef DAC_InitStructure; /* DAC channel1 Configuration */ DAC_InitStructure.DAC_Trigger = DAC_Trigger_None; DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None; DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable; /* DAC Channel1 Init */ DAC_Init(DAC_Channel_1, &DAC_InitStructure); /* Enable DAC Channel1 */ DAC_Cmd(DAC_Channel_1, ENABLE); 

рдореВрд▓реНрдп рд░рд┐рдХреЙрд░реНрдб:
  DAC_SetChannel1Data(DAC_Align_12b_R, 160 + temperature * 3); 

рдЖрдЙрдЯрдкреБрдЯ рд╕рд┐рдЧреНрдирд▓ рддреАрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рд╡реЛрд▓реНрдЯреЗрдЬ рд╢рд┐рдерд┐рд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдЧрд░реНрдореА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред 160 рдХрд╛ рдорд╛рди рд╕реНрдХреЗрд▓ рдХреЗ рдмреАрдЪ рдореЗрдВ рддреАрд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд┐рддреНрд░ рд╣реИ:


рдЪрд╛рд░реНрдЯ рдФрд░ рдПрд▓рд╕реАрдбреА


рдЧреНрд░рд╛рдлрд┐рдХ рдореЛрдб рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛, рдореИрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреА рдореЗрдореЛрд░реА рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрд▓рд╕реАрдбреА рд╕реЗ рд░реАрдбрд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд▓рд┐рдЦрдиреЗ рдпрд╛ рдкрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдкрдврд╝рдиреЗ рдпрд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ред
рдкреЛрд░реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди: рдЖрдЙрдЯрдкреБрдЯ -
  GPIO_InitStructure.GPIO_Pin = DATA_PIN0 | DATA_PIN1 | DATA_PIN2 | DATA_PIN3 | DATA_PIN4 | DATA_PIN5 | DATA_PIN6 | DATA_PIN7; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init( DATA_PORT, &GPIO_InitStructure); 

рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП -
  GPIO_InitStructure.GPIO_Pin = DATA_PIN0 | DATA_PIN1 | DATA_PIN2 | DATA_PIN3 | DATA_PIN4 | DATA_PIN5 | DATA_PIN6 | DATA_PIN7; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; GPIO_Init( DATA_PORT, &GPIO_InitStructure); 

рдПрдХ рдЦрд╝рд░рд╛рдмреА "рдбрдореА рд░реАрдб" рднреА рдереА - рдкрддрд╛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкрд╣рд▓рд╛ рд░реАрдбрд┐рдВрдЧ рдХрдЪрд░рд╛ рджреЗрддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рдбреЗрдЯрд╛ред
рдЙрд╕рдХреЗ рдмрд╛рдж рдлрд╝рдВрдХреНрд╢рди рдкреБрдЯрд┐рдХреНрд╕рд▓, рдбреНрд░реЙрд▓рд╛рдЗрди, рдЖрдпрдд (рдмрдЪрдкрди рдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛ рдЧрдпрд╛)ред


рдЖрд░рдЯреАрд╕реА


ChRV рдЪрд┐рдк рдХреЛ DS2417 рджреНрд╡рд╛рд░рд╛ рдПрдХ-рддрд╛рд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛, рдпрд╣ DS18B20 рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рдмрд╕ рдореЗрдВ рдкреНрд░рд╕рд┐рджреНрдз рдерд╛ред

рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рд╕рдорд╛рди рдХрдорд╛рдВрдб 55h + id рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди DS2417 66h рдФрд░ DS18B20 BEh рд╕реЗ рдкрдврд╝рдирд╛ред рдмрд┐рдЬрд▓реА рдХреА рдЖрдкреВрд░реНрддрд┐ рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдЖрдпрдирд┐рд╕реНрдЯрд░ рдмрд┐рдЬрд▓реА рдХреА рдЖрдкреВрд░реНрддрд┐ рдмрдВрдж рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рднреА рдШрдбрд╝реА рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕реВрддреНрд░

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


All Articles