Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

Проблемы с считыванием напряжения STM32F072RB

Непрочитано 12.01.2017, 05:55  
Punk_Joker
Частый гость
 
Регистрация: 04.11.2015
Сообщений: 14
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Punk_Joker на пути к лучшему
По умолчанию Проблемы с считыванием напряжения STM32F072RB

Вроде все работает, но в ADC1-›DR всегда остается 0. Напряжение подаю с DAC (PA4 ) на вывод PA1 (вроде порт выбрал правильно). DAC точно работает. А вот с ADC возникли проблемы.
Нажмите, чтобы открыть спойлер
#include "stm32f0xx.h"
#include ‹math.h›

int cnt = 12;
char buf[12];

void Init()
{
RCC-›AHBENR |= (RCC_AHBENR_GPIOCEN | RCC_AHBENR_GPIOAEN);
GPIOC-›OSPEEDR |= GPIO_OSPEEDER_OSPEEDR13;
}

//initialization USART4, 9600 baud, 1 stop bit, none parity
void USART4_Init()
{
RCC-›APB1ENR |= RCC_APB1ENR_USART4EN;
GPIOC-›MODER |= (GPIO_MODER_MODER10_1 | GPIO_MODER_MODER11_1);
GPIOC-›OSPEEDR |= (GPIO_OSPEEDR_OSPEEDR10 | GPIO_OSPEEDR_OSPEEDR11);
USART4-›BRR = 8000000 / 9600;
USART4-›CR1 |= (USART_CR1_TE | USART_CR1_RE);
USART4-›CR1 |= USART_CR1_UE;
USART4-›CR1 |= USART_CR1_RXNEIE;
NVIC_EnableIRQ(USART3_4_IRQn);
}

//send one byte
void USART4_Send(char chr)
{
while (!(USART4-›ISR & USART_ISR_TC));
USART4-›TDR = chr;
}

//send more byte
void USART4_Send_Str(char *str)
{
int i = 0;
while (str[i])
USART4_Send(str[i++]);
}

//IRQ handler receiver's
void USART3_6_IRQHandler()
{
if (USART4-›ISR & USART_ISR_RXNE)
{
USART4-›ISR &= ~USART_ISR_RXNE;
USART4_Send(USART4-›RDR);
}
}

//Timer init
void TIM6_Init()
{
RCC-›APB1ENR |= RCC_APB1ENR_TIM6EN;
TIM6-›PSC = 8000;
TIM6-›ARR = 100;
TIM6-›DIER |= TIM_DIER_UIE;
TIM6-›CR1 |= TIM_CR1_CEN;
NVIC_EnableIRQ(TIM6_IRQn);
}

void TIM6_IRQHandler()
{
TIM6-›SR &= ~TIM_SR_UIF;
if (!(GPIOC-›IDR & GPIO_IDR_13))
{
USART4_Send_Str("Pre conv\r\n");
ADC1-›CR |= ADC_CR_ADSTART;
while (!(ADC1-›ISR & ADC_ISR_EOC));
cnt = ADC1-›DR;
//cnt++;
sprintf(buf, "Voltage: %lu \r\n", cnt);
USART4_Send_Str(buf);
USART4_Send_Str("Post conv\r\n");
}
}

void DAC_Init()
{
RCC-›APB1ENR |= RCC_APB1ENR_DACEN;
DAC-›CR |= (DAC_CR_BOFF1 | DAC_CR_EN1);
DAC-›DHR12R1 = (1*4095)/3.3;
DAC-›SWTRIGR |= DAC_SWTRIGR_SWTRIG1;
}

void ADC_Init()
{
GPIOA-›MODER |= GPIO_MODER_MODER1;

RCC-›APB2ENR |= RCC_APB2ENR_ADC1EN;
RCC-›CR2 |= RCC_CR2_HSI14ON;
while ((RCC-›CR2 & RCC_CR2_HSI14RDY) == 0);

ADC1-›CR |= ADC_CR_ADCAL;
while (!(ADC1-›CR & ADC_CR_ADCAL));

ADC1-›SMPR |= (ADC_SMPR1_SMPR_0 | ADC_SMPR1_SMPR_1 | ADC_SMPR1_SMPR_2);
ADC1-›CHSELR = ADC_CHSELR_CHSEL1;
ADC-›CCR |= ADC_CCR_VREFEN;

ADC1-›CR |= ADC_CR_ADEN;
//while ((ADC1-›ISR & ADC_ISR_ADRDY) == 0);
}

int main()
{
Init();
USART4_Init();
TIM6_Init();
DAC_Init();
ADC_Init();
while(1)
{
}
}


Причина видимо в DAC, подключил к его выходу светодиод, а он не светится.

Проблема решена
Реклама:

Последний раз редактировалось Punk_Joker; 13.01.2017 в 21:18. Причина: дополнение
Punk_Joker вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SEPIC преобразователь напряжения на LM3478 swat24 Электроника - это просто 2 18.09.2014 20:25
Парапсихология, гомеопатия и паранаука Marc2005 Отвлекитесь, эмбеддеры! 2616 05.09.2014 23:07
Постоянное напряжения вместо переменного в доме Vasdey Источники питания и свет 17 10.02.2014 14:54


Часовой пояс GMT +4, время: 02:23.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.