0 beğenilme 0 beğenilmeme
80 kez görüntülendi
STMicroelectronics kategorisinde (1,210 puan) tarafından

Merhabalar,
Youtube kanalında KEIL ile yapılan uygulamayı ( STM32F407 + W5500 TCP/IP ) STM32Cube IDE ile denemek için başladım. Kütüphane ekleme işlemlerini hepsini yaptım.

Main icerisine ilgili kütüphaneleri ekledim derleme yaptım. Sorun yok.

Eklediğim kütüphane den iki fonksiyon cağırınca hemen [ regwizchipcscbfunc(cssel, csdesel); regwizchipspicbfunc(spirb, spiwb); Bu fonksiyonlar wizchipconf.h tanımlı. ]
undefined reference to reg_wizchip_cs_cbfunc' undefined reference toreg
wizchipspicbfunc'

hatası almaya başladım. Ide de başka bir ayar daha yapmam mı lazım. Neyi gözden kaçırmış olabilirim.

Proje ağacım ve Ayar ekranım.
https://hizliresim.com/GbyUA2
https://hizliresim.com/eXKzfL

main.c iceriğide


/* Includes ------------------------------------------------------------------*/ include "main.h" include "wizchip_conf.h" include "socket.h" include "loopback.h" include "string.h" uint8_t rcvBuf[20], bufSize[] = {2, 2, 2, 2}; SPI_HandleTypeDef hspi1; /* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_SPI1_Init(void); /---------------------------------------------------------------------------------------
* void cs_sel()
---------------------------------------------------------------------------------------
/
void cssel()
{
HAL
GPIOWritePin(GPIOA, GPIOPIN10, GPIOPINRESET); //CS LOW
}
/*---------------------------------------------------------------------------------------
* void cs
desel()
---------------------------------------------------------------------------------------/
void csdesel()
{
HAL
GPIOWritePin(GPIOA, GPIOPIN10, GPIOPIN_SET); //CS HIGH
}
/
---------------------------------------------------------------------------------------
* uint8t spirb(void)
---------------------------------------------------------------------------------------/
uint8t spirb(void)
{
uint8t rbuf;
HAL
SPI_Receive(&hspi1, &rbuf, 1, 0xFFFFFFFF);
return rbuf;
}
/
---------------------------------------------------------------------------------------
* void spiwb(uint8t b)
---------------------------------------------------------------------------------------/
void spiwb(uint8t b)
{
HALSPITransmit(&hspi1, &b, 1, 0xFFFFFFFF);
}
/
---------------------------------------------------------------------------------------
* int main(void)
---------------------------------------------------------------------------------------*/
int main(void)
{ HALInit();
SystemClock
Config();
MXGPIOInit();
MXSPI1Init(); regwizchipcscbfunc(cssel, csdesel);
reg
wizchipspicbfunc(spirb, spiwb); //
// wizchipinit(bufSize, bufSize);
// wiz
NetInfo netInfo = { .mac = {0x00, 0x08, 0xdc, 0xab, 0xcd, 0xef}, // Mac address
// .ip = {192, 168, 2, 192}, // IP address
// .sn = {255, 255, 255, 0}, // Subnet mask
// .gw = {192, 168, 2, 1}}; // Gateway address
//
// wizchipsetnetinfo(&netInfo);
// wizchip
getnetinfo(&netInfo); while (1)
{ } }// main end.
/-------------------------------------------------------------------------------------/

1 cevap

1 beğenilme 0 beğenilmeme
(1,210 puan) tarafından
tarafından seçilmiş
 
En İyi Cevap

https://hizliresim.com/5VkkNg
İşaretli yeri Static Library Yapınca derleme hatası gitti.

(1,210 puan) tarafından

Static Library Cozum degilmiş. ( Derleme yaptığı icin sonuca dikkat etmedim. Meğersem lib olusturuyormuş )

Gerçek Çozum ise
Bahsettiğiniz seçeneğin çıkması için projenin üzerine değil, ilgili klasörün (mesela W5500 klasörü) üzerine sağ tıklayıp properties'e gitmek ve ordan
"Exclude resource from build" ayarının işaretli olduğunu göreceksin. Bu işareti kaldırdığında ilgili klasör de derleme işlemine katılmış olacak.

Gökçe (@Taglı) Hocama uyarı ve bilgilendirme için Teşekkür ederim.

...