small changes 2

develop
Katya 1 year ago
parent 8086a52104
commit 9f371543b3

@ -38,7 +38,6 @@
/* Private variables ---------------------------------------------------------*/
SPI_HandleTypeDef hspi1;
TIM_HandleTypeDef htim1;
TIM_HandleTypeDef htim2;
@ -67,7 +66,6 @@ static void MX_SPI1_Init(void);
int main(void)
{
/* USER CODE BEGIN 1 */
// прописать нули в л12 л11
RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN;
GPIOA->MODER &= ~(3U << (0 * 2));
GPIOA->MODER &= ~(3U << (3 * 2));
@ -87,40 +85,38 @@ int main(void)
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_TIM2_Init();
MX_TIM1_Init();
MX_SPI1_Init();
MX_GPIO_Init();
MX_TIM2_Init();
MX_TIM1_Init();
MX_SPI1_Init();
/* USER CODE BEGIN 2 */
uint8_t recData[10] = {0};
uint8_t recData[10] = {0};
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1, GPIO_PIN_SET);
//volatile uint32_t start_ticks = DWT->CYCCNT;
if (HAL_SPI_Receive(&hspi1, recData, 10, HAL_MAX_DELAY) == HAL_OK) {
//volatile uint32_t end_ticks= DWT->CYCCNT;
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1, GPIO_PIN_RESET);
}
//----------------КАНАЛ 1---------------
FillMode(&modes[0], recData, 0);
//----------------КАНАЛ 2---------------
FillMode(&modes[1], recData, 5);
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1, GPIO_PIN_SET);
if (HAL_SPI_Receive(&hspi1, recData, 10, HAL_MAX_DELAY) == HAL_OK) {
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1, GPIO_PIN_RESET);
}
//----------------КАНАЛ 1---------------
FillMode(&modes[0], recData, 0);
//----------------КАНАЛ 2---------------
FillMode(&modes[1], recData, 5);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
for (int i = 0; i < CHANNELS; i++) {
for (int i = 0; i < CHANNELS; i++) {
uint8_t T = 1000 / modes[i].f; // период следования импульсов
// Считаем, какая частота таймера нужна для получения заданного периода T
uint32_t freq_T_check = (F_CPU * T) / 100;
@ -136,22 +132,20 @@ int main(void)
// Считаем частоту таймера нужна для получения заданного периода T (с новым значением частоты процессора)
modes[i].freq_pwm_new = (F_tmp * T) / 1000;
}
}
modes[0].pwm_value_res = (modes[0].pwm_value * modes[0].freq_pwm_new) / MAX_PWM_FREQ; // пересчет скважности для 1 канала
modes[1].pwm_value_res = (modes[1].pwm_value * modes[1].freq_pwm_new) / MAX_PWM_FREQ; // пересчет скважности для 2 канала
HAL_TIM_Base_Start_IT(&htim1);
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
if (channel == 1 && settings_set == 0) {
settings_set = 1; // канал 1 настроен
} else if (channel == 2 && settings_set == 0) {
settings_set = 1; // канал 2 настроен
}
}
}
modes[0].pwm_value_res = (modes[0].pwm_value * modes[0].freq_pwm_new) / MAX_PWM_FREQ; // пересчет скважности для 1 канала
modes[1].pwm_value_res = (modes[1].pwm_value * modes[1].freq_pwm_new) / MAX_PWM_FREQ; // пересчет скважности для 2 канала
HAL_TIM_Base_Start_IT(&htim1);
while (1) {
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
if (channel == 1 && settings_set == 0) {
settings_set = 1; // канал 1 настроен
} else if (channel == 2 && settings_set == 0) {
settings_set = 1; // канал 2 настроен
}
}
/* USER CODE END 3 */
}

@ -212,7 +212,6 @@ void TIM1_UP_TIM10_IRQHandler(void)
CommonChannelActions(&modes[0], 1, &channel, &iter, &settings_set);
}
//HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_1);
/* USER CODE END TIM1_UP_TIM10_IRQn 0 */
HAL_TIM_IRQHandler(&htim1);
/* USER CODE BEGIN TIM1_UP_TIM10_IRQn 1 */
@ -224,7 +223,6 @@ void TIM1_UP_TIM10_IRQHandler(void)
void CommonChannelActions(Mode *mode_ptr, int channel, int *channelPtr, int *iter, int *settings_set) {
ChannelSwap(mode_ptr, channel, channelPtr, (channel == 1) ? 1 : 0, settings_set);
SetInvert(mode_ptr);
//SetIN_R1(mode_ptr);
if (channel == 1) *iter = 1;
}
/* USER CODE END 1 */

Loading…
Cancel
Save