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

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

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

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

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

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


 
Опции темы
Непрочитано 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, время: 21:58.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot