LoKeR

Stm32f4 usart + внешний ацп

5 posts in this topic

LoKeR    0

Добрый день, столкнулся с необычным мне ситуацией, камень 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);
     }
  }
 
}

 

Share this post


Link to post
Share on other sites

Что это?

Это может быть чем угодно, только не сборкой текстовых данных на отправку, потому и спросил.

Share this post


Link to post
Share on other sites

Старт складской программы по Wi-Fi/ Bluetooth-чипам от Espressif

На склад КОМПЭЛ поступили чипы, модули и отладочные платы от компании Espressif Systems на базе ESP8266 и ESP32. Стоимость всех изделий данной линейки – в 2-3 раза ниже ближайших аналогов, чипы занимают минимальное место на плате, энергоэффективны и универсальны в применении

Подробнее...

hasl    67
31 минуту назад, mail_robot сказал:

да это вообще по моему галиматья какая то

эт точно.

1 .зачем вообще отправлять 4к данных

где гарантия что их на ПК обработали

2. У UART есть события по ошибке, есть прерывание по ошибке. Взяли и посмотрели, что за ошибка. В чем проблема то?

3. buffer1 имеет нужную размерность. Самый распространенный баг - это порча памяти.

Share this post


Link to post
Share on other sites
Mars36    0
В 28.12.2018 в 17:13, hasl сказал:

2. У UART есть события по ошибке, есть прерывание по ошибке. Взяли и посмотрели, что за ошибка. В чем проблема то?

Под событиями подразумеваются флаги?

Share this post


Link to post
Share on other sites

Вебинар Литиевые ХИТы FANSO или что нужно знать инженеру о батарейках»

20 июня компания Компэл приглашает всех желающих принять участие в вебинаре, посвященном литиевым батарейкам FANSO. На вебинаре будет рассказано о параметрах батареек, их зависимости от режима работы и эксплуатации. Будет дана информация о том, на какие параметры следует обращать внимание, выбирая литиевый ХИТ, и как избежать некоторых проблем.

Подробнее...

Your content will need to be approved by a moderator

Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...