Global Informatics

- Информатика и вычислительная техника

Результаты вычислительных экспериментов

А.5. Спецификация устройства управления МС427110.003 СП.

А.6 CD-диск МС427110.004

Приложение Б

Текст программы

Текст программы управления устройством измерения параметров аналоговых сигналов для микроконтроллера представлен на рисунке ПБ.1.

#include "stm32f4xx. h"_InitTypeDef gpio_struct;_InitTypeDef usart_struct;_TimeBaseInitTypeDef timer2_base;_TimeBaseInitTypeDef timer3_base;_TimeBaseInitTypeDef timer6_base;_InitTypeDef adc1_init_struct;_InitTypeDef adc2_init_struct;_CommonInitTypeDef adc_common_init_struct;_InitTypeDef dac_struct;_InitTypeDef dma2_struct;_InitTypeDef dma1_struct;_ClocksTypeDef SYSCLK_Frequency;HSEStartUpStatus;_t sync1 = 0;_t sync2 = 0;_t i = 0;

uint8_t flag = 0;_t counter = 0;

uint8_t buffer [250];_t recived_data [2];_t sin [16] = {127, 176, 218, 245, 255, 245, 218, 176, 127, 79, 37, 10, 0,10, 37, 79};

const uint8_t Escalator8bit [6] = {0x0, 0x33, 0x66, 0x99, 0xCC, 0xFF};

void RCC_Configuration (void)

{ RCC_HSEConfig (RCC_HSE_ON);= RCC_WaitForHSEStartUp ();

if (HSEStartUpStatus == SUCCESS)

{_PrefetchBufferCmd (ENABLE);_SetLatency (FLASH_Latency_5);_HCLKConfig (RCC_SYSCLK_Div1);_PCLK2Config (RCC_HCLK_Div2);_PCLK1Config (RCC_HCLK_Div4);

#define PLL_M 8

#define PLL_N 336

#define PLL_P 2

#define PLL_Q 7_PLLConfig (RCC_PLLSource_HSE, PLL_M, PLL_N, PLL_P, PLL_Q);_PLLCmd (ENABLE);

while (RCC_GetFlagStatus (RCC_FLAG_PLLRDY) == RESET) { }_SYSCLKConfig (RCC_SYSCLKSource_PLLCLK);

while (RCC_GetSYSCLKSource ()! = 0x08) { }

Рисунок ПБ.1 - Текст программы(); }_GetClocksFreq (&SYSCLK_Frequency);_AHB1PeriphClockCmd (RCC_AHB1Periph_DMA1|RCC_AHB1Periph_DMA2|RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOC, ENABLE); RCC_APB1PeriphClockCmd (RCC_APB1Periph_DAC|RCC_APB1Periph_TIM2|RCC_APB1Periph_TIM3|RCC_APB1Periph_TIM6|RCC_APB1Periph_USART3, ENABLE);_APB2PeriphClockCmd (RCC_APB2Periph_ADC1, ENABLE); }

void

GPIO_Configuration(void

)

{ gpio_struct. GPIO_Pin = GPIO_Pin_10;_struct. GPIO_Speed = GPIO_Speed_100MHz;_struct. GPIO_OType = GPIO_OType_PP;_struct. GPIO_PuPd = GPIO_PuPd_UP;_struct. GPIO_Mode = GPIO_Mode_AF;_Init (GPIOC, &gpio_struct);_PinAFConfig (GPIOC, GPIO_PinSource10, GPIO_AF_USART3);_struct. GPIO_Pin = GPIO_Pin_11;_struct. GPIO_Mode = GPIO_Mode_AF;_Init (GPIOC, &gpio_struct);_PinAFConfig (GPIOC, GPIO_PinSource11, GPIO_AF_USART3);_struct. GPIO_Pin = GPIO_Pin_0;_struct. GPIO_Mode = GPIO_Mode_AN;

gpio_struct. GPIO_PuPd = GPIO_PuPd_NOPULL;_Init (GPIOA, &gpio_struct);_struct. GPIO_Pin = GPIO_Pin_1;_struct. GPIO_Mode = GPIO_Mode_AN;

gpio_struct. GPIO_PuPd = GPIO_PuPd_NOPULL;_Init (GPIOA, &gpio_struct);_struct. GPIO_Pin = GPIO_Pin_5;_struct. GPIO_Mode = GPIO_Mode_AN;

gpio_struct. GPIO_PuPd = GPIO_PuPd_NOPULL;_Init (GPIOA, &gpio_struct); }

void

Timer_Snapshot_Configuration(void

)

{timer3_base. TIM_Period = 48000-1;_base. TIM_Prescaler = 100-1;_base. TIM_ClockDivision = 0;_base. TIM_CounterMode = TIM_CounterMode_Up;_TimeBaseInit (TIM3, &timer3_base);_EnableIRQ (TIM3_IRQn);_ITConfig (TIM3, TIM_IT_Update, ENABLE);_Cmd (TIM3, ENABLE); }

void

Timer_Adc_Configuration(uint32_t period)

{timer2_base. TIM_Prescaler = 0;_base. TIM_Period = period-1;_base. TIM_ClockDivision = 0;_base. TIM_CounterMode = TIM_CounterMode_Up;_TimeBaseInit (TIM2, &timer2_base); }

void

Timer_Dac_Configuration(uint32_t period)

{timer6_base. TIM_Prescaler = 0;_base. TIM_Period = period-1;_base. TIM_ClockDivision = 0;_base. TIM_CounterMode = TIM_CounterMode_Up;_TimeBaseInit (TIM6, &timer6_base);_SelectOutputTrigger (TIM6, TIM_TRGOSource_Update); TIM_Cmd (TIM6, ENABLE); }

Перейти на страницу: 1 2 3 4 5 6 7

Статья в тему

Усилительный каскад на биполярном транзисторе
Целью данной работы является расчет и проектирование усилительного каскада на биполярном транзисторе со следующими заданными параметрами: 1. Диапазон рабочих частот 2. Допустимые частотные искажения 3. Сопротивление источника сигнала и нагрузки 4. Коэфф ...

Главные разделы


www.globalinformatics.ru © 2024 - Все права защищены!