Добрый день, столкнулся с необычным мне ситуацией, камень stm32f407vet6 делаю обмен данными с ПК через usart. На порт С подключен внешний ацп 8 битный и usart тоже 8 битный. когда на ацп подаю 3В то usart просто вылетает не отправляет и не принимает байты, а если отправлю просто рандомные числа то все ок работает, как ацп подключаю все зависает
Код:
uint8_t byte;
int main(void)
{
HAL_Init();
MX_GPIO_Init();
MX_USART2_UART_Init();
MX_TIM2_Init();
MX_TIM3_Init();
MX_TIM4_Init();
MX_TIM5_Init();
__HAL_UART_ENABLE_IT(&huart2, UART_IT_RXNE);
__HAL_UART_ENABLE_IT(&huart2, UART_IT_TC);
while (1)
{
if(data[0] == 0x31){
HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim5, TIM_CHANNEL_2);
TIM2->CCR1 = 7;
TIM3->CCR1 = 7;
byte = (GPIOC->IDR)/4 ;
for(int i = 0; i < 4096; i++){
if((i % 2) == 0){
buffer1[i]= '.';
}else{
buffer1[i] = GPIOC->IDR / 4;
}
}
HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_1);
HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_1);
HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_1);
HAL_TIM_PWM_Stop(&htim5, TIM_CHANNEL_2);
memset(data,0,1);
HAL_UART_Transmit_IT(&huart2, buffer1, 4096);
}
}
}