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 (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.
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.
Ç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
merhaba
http://www.st.com/internet/mcu/product/252139.jsp (http://www.st.com/internet/mcu/product/252139.jsp)
linkten Firmware kısmındaki ilk dosyayı indirip
projelerinde bu kutuphaneyi kullanman gerekecek.
merhaba hocam dosyaları indirip gerkli dizine kopyalamama rağmen aynı hataları bende alıyorum yardım edebilirseniz çok sevinirim :)
#include "stm32f4xx.h" ekleyerek denermisini? Tabiki dosyanın dizinde yer aldığından emin olarak.
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.
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.