Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2019, 07:38   #1
ivan rusev
Новичок
Джуниор
 
Регистрация: 29.12.2019
Сообщений: 0
По умолчанию stm32f4 cmsis ADC

как настроить ацп на stm32f407
вот исходник
void inits_GPIOC(void)
{
RCC->AHB1ENR|=RCC_AHB1ENR_GPIOCEN;


GPIOC->MODER &=~ GPIO_MODER_MODER13_1;
GPIOC->MODER |= GPIO_MODER_MODER13_0;
GPIOC ->OTYPER &=~GPIO_OTYPER_OT13;
//бит0 определяет скорость работы GPIO
GPIOC->OSPEEDR &=~ GPIO_OSPEEDER_OSPEEDR13_1; //бит1
GPIOC->OSPEEDR &=~ GPIO_OSPEEDER_OSPEEDR13_0;
GPIOC->PUPDR |=GPIO_PUPDR_PUPDR13_1;
GPIOC->PUPDR &=~ GPIO_PUPDR_PUPDR13_0;
/* настройка на вход */

// RCC->AHB1ENR|=RCC_AHB1ENR_GPIOCEN;

GPIOC->MODER &=~ GPIO_MODER_MODER0_1;
GPIOC->MODER &=~ GPIO_MODER_MODER0_0;
GPIOC ->OTYPER &=~GPIO_OTYPER_OT0;
//бит0 определяет скорость работы GPIO
GPIOC->OSPEEDR &=~ GPIO_OSPEEDER_OSPEEDR0_1; //бит1
GPIOC->OSPEEDR &=~ GPIO_OSPEEDER_OSPEEDR0_0;
GPIOC->PUPDR &=~ GPIO_PUPDR_PUPDR0_1;
GPIOC->PUPDR |= GPIO_PUPDR_PUPDR0_0;

GPIOC->MODER &=~ GPIO_MODER_MODER1_1;
GPIOC->MODER |= GPIO_MODER_MODER1_0;
GPIOC ->OTYPER &=~GPIO_OTYPER_OT1;
//бит0 определяет скорость работы GPIO
GPIOC->OSPEEDR &=~ GPIO_OSPEEDER_OSPEEDR1_1; //бит1
GPIOC->OSPEEDR &=~ GPIO_OSPEEDER_OSPEEDR1_0;
GPIOC->PUPDR |=GPIO_PUPDR_PUPDR1_1;
GPIOC->PUPDR &=~ GPIO_PUPDR_PUPDR1_0;
}

int main(void)
{
inits_GPIOC();
inits_adc();

//inits_timer1();
inits_timer3();
inits_timer5();
//inits_timer3();

while(1)
{


ADC1->CR2 |= ADC_CR2_SWSTART; //Запуск преобразований
while (!(ADC1->SR & ADC_SR_EOC)); //ждем пока первое преобразование завершится
ADC1->SR &=~ADC_SR_EOC ;
adc_data = ADC1->DR;

if(adc_data > 2024)
{
// GPIOC->ODR|=1<<13;
GPIOC->BSRR |= GPIO_BSRR_BS13;
}
else
{
// GPIOC->ODR&=~1<<13;
GPIOC->BSRR |= GPIO_BSRR_BR13;
}
}
}
ivan rusev вне форума Ответить с цитированием
Старый 13.01.2020, 12:26   #2
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Как-то не ясно, совет ищите или исполнителя?
Если совет, тогда:
STM32F4. Урок № 5. Работа с АЦП+DMA + фильтр скользящее среднее
Работаем с АЦП stm32f4 discovery
STM32F4. Урок 5 - работа с АЦП
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с периферией ARM F100RBT6B без библиотеки CMSIS Aoizora Микроконтроллеры, робототехника, схемотехника, 3D принтеры 4 18.07.2017 22:47
STM32F4 таймер Uzver' Помощь студентам 2 29.11.2016 09:37