STM32F4DISCOVERY Header dosyası

Başlatan ernyldrm, 07 Nisan 2012, 02:30:07

ernyldrm

Keil uVision 4 IDE'ını kullanıyorum. Bu karta ve ARM işlemcilere yeni başlıyorum.

http://www.fatihinanc.com/diger/stm32f4-discovery-gelistirme-kiti-incelemesi/#codesyntax_1

şu  adresteki kodları denemek istedim fakat stm32f4_discovery.h şeklinde include edilmiş header dosyasını bir türlü bulamadım. Nereden bulabilirim ?  :-\

Teşekkürler.

pisayisi

stm32f4 discovery firmware library st sitesinden indir. \stm32f10x_stdperiph_libs\stm32f4discovery_fw\STM32F4-Discovery_FW_V1.1.0\Utilities\STM32F4-Discovery.h

olarak utilities alt klasöründe ilgili dosyayı bulabilirsin.
Murat

ernyldrm

Çok teşekkür ederim. Dosyayı buldum. Fakat şu kodu compile etmeye çalıştığımda:

/* STM32F4 Led Yak - Söndür Programı
   Kit üzerindeki LD15'i(mavi) yakıp söndüren program...
*/
#include "stm32f4_discovery.h"

GPIO_InitTypeDef    GPIO_InitStructure;

void Delay(__IO uint32_t nCount);

void GPIO_Setup(void)
{
  /* GPIOD Clocku aktif hale getiriliyor... */
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);

  /* PD12,PD13,PD14 ve PD15 çıkış olarak ayarlanıyor. GPIO Bus hızı 100 MHz...  */
  GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_12 | GPIO_Pin_13| GPIO_Pin_14| GPIO_Pin_15;
  GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_OUT;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOD, &GPIO_InitStructure);
}

int main(void)
{

  GPIO_Setup();

  while (1)
  {
    GPIO_SetBits(GPIOD, GPIO_Pin_15);
    Delay(0x3FFFFF);

    GPIO_ResetBits(GPIOD, GPIO_Pin_15);
    Delay(0x3FFFFF);
  }
}

void Delay(__IO uint32_t nCount)
{
  while(nCount--);
}


Şu hataları alıyorum. Compilerın ayarları mı yanlış acaba?

new.c(6): error:  #20: identifier "GPIO_InitTypeDef" is undefined
new.c(13): warning:  #223-D: function "RCC_AHB1PeriphClockCmd" declared implicitly
new.c(13): error:  #20: identifier "RCC_AHB1Periph_GPIOD" is undefined
new.c(16): error:  #20: identifier "GPIO_Pin_12" is undefined
new.c(16): error:  #20: identifier "GPIO_Pin_13" is undefined
new.c(16): error:  #20: identifier "GPIO_Pin_14" is undefined
new.c(16): error:  #20: identifier "GPIO_Pin_15" is undefined
new.c(17): error:  #20: identifier "GPIO_Mode_OUT" is undefined
new.c(18): error:  #20: identifier "GPIO_OType_PP" is undefined
new.c(19): error:  #20: identifier "GPIO_Speed_100MHz" is undefined
new.c(20): error:  #20: identifier "GPIO_PuPd_NOPULL" is undefined
new.c(21): warning:  #223-D: function "GPIO_Init" declared implicitly
new.c(31): warning:  #223-D: function "GPIO_SetBits" declared implicitly
new.c(31): error:  #20: identifier "GPIO_Pin_15" is undefined
new.c(34): warning:  #223-D: function "GPIO_ResetBits" declared implicitly
Target not created

M_B

merhaba
http://www.st.com/internet/mcu/product/252139.jsp
linkten Firmware  kısmındaki ilk dosyayı indirip
projelerinde bu kutuphaneyi kullanman gerekecek.
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

burakoz1989

merhaba hocam dosyaları indirip gerkli dizine kopyalamama rağmen aynı hataları bende alıyorum yardım edebilirseniz çok sevinirim :)

anatolica

#include "stm32f4xx.h" ekleyerek denermisini? Tabiki dosyanın dizinde yer aldığından emin olarak.

alisoy

kullanmak istediginiz hederları cagırdıgınız kutuphaneyle aynı dizine koyarsanız sorun cözulur ve keil da da sol tarafta projenize eklemeniz gerek yoksa...derlemiyor o kutuphaneyi :) yukrıda stm32f4xx_gpio.h i da eklemelisiniz. stm32f4xx klasorunde src ve liblerin hepsini mainin bulundugu dizine atın calsıacaktır. Farklı dizinler için dizini gostermeniz gerekir. ::) Ayırmak istediginz kutphane veya dosyaları keil de grup olustrabilirsiniz.

GreeN

STM32F4xx_DSP_StdPeriph_Lib_V1.0.1  içeriğinde

.....\STM32F4xx_DSP_StdPeriph_Lib_V1.0.1\Libraries\STM32F4xx_StdPeriph_Driver  içerisindeki inc ve src klasörlerini ilgili alandan göster.

[IMG]http://i1114.photobucket.com/albums/k538/lordex06/stm32f407vg.jpg[/img]

Yine aynı yerden STM32F4XX, USE_STDPERIPH_DRIVER tanımlarını yap.

Yukarıdaki örnek için     stm32f4xx_gpio.c  ve stm32f4xx_rcc.c driverlarında inculade edilmesi lazım.
Bunları Target1 üzerinde sağ tık ile ADD GROUP şeklinde ekleyebilirsin.
Terörü Lanetliyoruz.