-
Content Count
9 -
Joined
-
Last visited
Community Reputation
0 ОбычныйAbout Карен Григорян
-
Rank
Новенький
Информация
-
Город
Таганрог
Электроника
-
Стаж в электронике
1-2 года
-
Сфера радиоэлектроники
Радио
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
проблема с АЦП в stm32 при симуляции в Proteus
Карен Григорян replied to Карен Григорян's topic in Песочница (Q&A)
Похоже на то( Подключил к stm32 внешний АЦП, вроде норм результаты выдает- 2 replies
-
- Proteus ADC
- STM32
-
(and 1 more)
Tagged with:
-
Карен Григорян started following Не работает схема DAC в proteus and проблема с АЦП в stm32 при симуляции в Proteus
-
Здравствуйте, товарищи форумчане! У меня вот такая проблемка: есть такая схема: По сути тут 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: Вот пример неправильного вычисления:
- 2 replies
-
- Proteus ADC
- STM32
-
(and 1 more)
Tagged with:
-
не могу найти кнопку( Походу у меня её пока нет
-
Да, все заработало! Спасибо)
-
я тогда попробую удалить свой протеус и поставить 8.9
-
у меня открылся, но схема выдает тот же результат(
-
у меня 8.10
-
Спасибо за ответ. Возможно я просто очень не везучий, но... TokarevProject.pdsprj
-
Здравствуйте уважаемые форумчане! Объясните пж, почему не робит схема? Например на картинке она выдает 12 В, хотя по идее должна выдавать 5В. Мы ведь подаем 10000000 = 128, то есть Vref/2, то есть 5 В. Заранее спасибо!