Jump to content

Карен Григорян

Members
  • Content Count

    9
  • Joined

  • Last visited

Everything posted by Карен Григорян

  1. Похоже на то( Подключил к stm32 внешний АЦП, вроде норм результаты выдает
  2. Здравствуйте, товарищи форумчане! У меня вот такая проблемка: есть такая схема: По сути тут stm32 на который подаётся некоторое постоянное напряжение, а именно на вход PA1. МК получает его, приводит в цифровую форму (разрядность АЦП равна восьми) и выводит их при помощи восьми GPIO выводов, а именно PB0-PB7. Эти выводы соединены со схемой ЦАП, которая преобразует значение, полученное от stm32 обратно в аналоговую форму и выводит в пробнике R2(1). Проблема в том результат выводится не верный. Точнее говоря не всегда верный. Когда я подаю 1В, то на выходе получаю 0,99В, что верно. Но когда, например, подаю 300мВ, то получаю 1.8В, что совсем не верно. Код прошивки предельно прост: while (1) { HAL_ADC_Start_IT(&hadc1); HAL_Delay(10); } Код колбека прерывания: void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) { if(hadc->Instance == ADC1) //check if the interrupt comes from ACD1 { int adc = HAL_ADC_GetValue(&hadc1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,(adc>>0)&1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,(adc>>1)&1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,(adc>>2)&1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3,(adc>>3)&1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,(adc>>4)&1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,(adc>>5)&1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_6,(adc>>6)&1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,(adc>>7)&1); } } На всякий случай вот настройка АЦП в stm32: Вот пример неправильного вычисления:
  3. не могу найти кнопку( Походу у меня её пока нет
  4. я тогда попробую удалить свой протеус и поставить 8.9
  5. у меня открылся, но схема выдает тот же результат(
  6. Спасибо за ответ. Возможно я просто очень не везучий, но... TokarevProject.pdsprj
  7. Здравствуйте уважаемые форумчане! Объясните пж, почему не робит схема? Например на картинке она выдает 12 В, хотя по идее должна выдавать 5В. Мы ведь подаем 10000000 = 128, то есть Vref/2, то есть 5 В. Заранее спасибо!
×
×
  • Create New...