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?