Stm32f429 adc okuma overcurrent ledi

Başlatan sfiber, 14 Nisan 2014, 20:31:56

sfiber

arkadaşlar merhaba aşağıdaki kodları derleyip yükledikten sonra potu 0 a çektiğimde over current ledi yanıyor.c portunu input olarak tanımlamış olmama rağmen neden fazla akım hatası alıyorum.

#include <stm32f4xx.h>
void SystemInit()
{
unsigned int i;
(*((int*)0xE000ED88))|=0x00F00000;
for(i=0;i<0x00100000;i++);
RCC->CFGR|=0x00009400;
RCC->CR |=0x01010001;
while(!(RCC->CR & 0x02020002));
RCC->PLLCFGR|=0x07405408;
FLASH->ACR|=0x00000605;
RCC->CFGR|=0x00000002;
while ((RCC->CFGR & 0x0000000F) != 0x0000000A);
RCC->AHB1ENR|=0x0000008C;
GPIOD->MODER=0x00005555;
GPIOD->OSPEEDR=0x9552;
GPIOG->MODER=0x14000000;
GPIOG->OSPEEDR=0x28000000;
GPIOC->MODER=0x00000000;
GPIOC->OSPEEDR=0x0000038C;
}
void ADC_init(void)
{
GPIOC->MODER=0x00000C000;
RCC->APB2ENR=0x00000100;
ADC1->CR1|=0x01000000;
ADC1->SMPR2=0x00000004;
ADC1->SQR1=0x00000000;
ADC1->SQR3=0x0000000F;
ADC->CCR=0x00030000;
ADC1->CR2=0x0000001;
}
unsigned int i;
unsigned int ADC_reading()
{
ADC1->CR2=0x40000000;//adc konusmasi baslamis oldu.
while(!(ADC1->SR & 0x00000002));
i=ADC1->DR;
return i;
}
void delay()
{
unsigned int bekleme;
for(bekleme=0;bekleme<0x0008F000;bekleme++);
}
int main()
{
unsigned int sonuc_led;
SystemInit();
ADC_init();
while(1)
{
ADC_reading();
sonuc_led=i;
if(sonuc_led>0)
GPIOD->ODR=0x00000001;
if(sonuc_led>20 && sonuc_led<40)
GPIOD->ODR=0x00000002;
if(sonuc_led>40 && sonuc_led<70)
GPIOD->ODR=0x00000004;
if(sonuc_led>70 && sonuc_led<120)
GPIOD->ODR=0x00000008;
if(sonuc_led>120 && sonuc_led<180)
GPIOD->ODR=0x00000010;
if(sonuc_led>180 && sonuc_led<240)
GPIOD->ODR=0x00000020;
}
}


sfiber

evet daha sonra farkedip pc7 yi kullanmaya başlamıştım.geliştirme kartının sıkıntılarıda bunlar işte.

AysZorlu

analog kanallardan gelen degerleri flash gıbı bır hafıza biriminde saklıyabilir miyiz?