Keil 5 l6218e undefined symbol (referred from main.o) Hatası

Başlatan yldzelektronik, 12 Mayıs 2016, 20:13:55

yldzelektronik

Merhaba,

Bir projeyi derlemeye çalıştığımda 

Error: L6218E: Undefined symbol UART_SendBuf(char*, unsigned short) (referred from main.o).


hatası alıyorum. bu hatanın sebebi nedir?Neden verir?

Normalde bu proje üzerinde uzun süredir değişiklikler yapabiliyordum.Ancak Uart.h dosyası içinde tanımlanmış olan fonksiyonları tanımlanmamış diye hata veriyor.Oysa kod tamamlama ile fonksiyonu gösteriyor.Sağ tık go to definetion dediğimde de fonksiyona gidiyor.

Mevzu sanırım linker ile ilgili.Çünkü main içinde çağrılan bu fonksiyon ile ilgili main derlenirken herhangi bir hata vermiyor, ancak linking aşamasında hata alıyorum.

Sebebi ve çözümü ne olabilir?

Bu arada Uart.c dosyası sağda yer alan gruba eklenmiş durumda.Ve main içinde Uart.h include edildi.
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

yldzelektronik

Alıntı yapılan: gerbay - 12 Mayıs 2016, 20:17:10
hocam o fonksiyonun oldugu c dosyasini projene ekle. header dan gormesi yetmez

Abi ekledim aslında zaten.



Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

yldzelektronik

Nasıl?Fonksiyonların başına mı?Gribim, dünden bugüne biraz uykusuzum, kafamda deli sorular.Anlamadım kusura bakma abi.Gösterebilir misin?

Bir de debug ve realese projesi olarak iki ayrı proje keilde nasıl oluşturacağım?Sanırım debug için kod boyutu daha büyük oluyor.
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

yldzelektronik

Abi çok sağol.Diğer bütün header larım o şekilde idi. Bu dosyanın farklı olduğunu fark edemedim.

Şimdi başka birkaç soru sormak istiyorum.Bu map dosyasını nasıl okumak, yorumlamak gerekiyor?

Ben karıştırdım biraz ve debug modda daha fazla bellek kullanıldığını gördüm.Neden olabilir?

Keil üzerinde debug ve release şeklinde aynı projede nasıl ayar yapabilirim?

Aynı kütüphaneleri farklı projelerde program boyutu birinde 8kb derleme sonucu oluyor birinde 10kb birinde 13kb.Neden böyle farklar oluşabilir?

Program içinde herhangi bir yerde tanımlanmış kullanılmayan değişkenler vs gibi durumları denetleyen toollar var mı?

Yazılan programın performansını vs denetleyebilecek program var mı (Performanstan kastım, çalışır haldeki değil.Düzgün kodlanmış mı, gereksiz değişken var mı, hataya mahal verebilecek yerler var mı vs)?
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

yldzelektronik

Abi o çok önemli değil.Silinecek zaten.Örnek programdan almıştım.Uyarı için teşekkürler.Peki diğer sorular için cevaplarınız var mı?Özellikle debug ile ilgili olan ve map dosyası ile ilgili olana?
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

yldzelektronik

#5
@gerbay

Abi teşekkürler.Hafıza sorunu yaşıyorum yine.1. seviye optimizasyon açınca spi vs olması gerektiği gibi çalışmıyor ve iletişim kurmaya çalıştığım modül ile haberleşemiyorum.Spi data registere falan veriler farklı sırayla giriyor.Debugda öyle görüyorum en azından.Neleri optimize ettiğini nasıl bilebiliriz derleyicinin ve neden donanım registerlerine kadar müdahale eder ki optimizasyon?

Hafızada yer açabilmek adına diyorum ki, map dosyasından hangi değişken, fonksiyon ne kadar yer kaplıyor göreyim, ona göre müdahele edeyim.Nasıl yapacağımı bilemiyorum ama.Map dosyasını okumayı  tam olarak bilmiyorum. Aşağıda projenin map dosyası mevcut.Yol gösterebilir misiniz?

NOT: 1. seviye optimize edilmiş hali bu.


[code]
Component: ARM Compiler 5.06 update 1 (build 61) Tool: armlink [4d35a8]

==============================================================================

Image Symbol Table

    Local Symbols

    Symbol Name                              Value     Ov Type        Size  Object(Section)

    ../../../edgfe/lib_src/arm_exceptions.c  0x00000000   Number         0  arm_exceptions_support.o ABSOLUTE
    ../../../edgfe/lib_src/arm_exceptions.c  0x00000000   Number         0  arm_exceptions_mem.o ABSOLUTE
    ../../../edgfe/lib_src/arm_exceptions.c  0x00000000   Number         0  arm_exceptions_callterm.o ABSOLUTE
    ../../../edgfe/lib_src/arm_exceptions.c  0x00000000   Number         0  arm_exceptions_globs.o ABSOLUTE
    ../../../edgfe/lib_src/arm_exceptions.c  0x00000000   Number         0  arm_exceptions_terminate.o ABSOLUTE
    ../../../edgfe/lib_src/arm_noexceptions.c 0x00000000   Number         0  arm_begincatch_noexceptions.o ABSOLUTE
    ../../../edgfe/lib_src/pure_virt.c       0x00000000   Number         0  pure_virt.o ABSOLUTE
    ../../../edgfe/lib_src/typeinfo.c        0x00000000   Number         0  lib_rtti_impl.o ABSOLUTE
    ../../../edgfe/lib_src/typeinfo.c        0x00000000   Number         0  type_info_dtor.o ABSOLUTE
    ../clib/../cmprslib/zerorunl2.c          0x00000000   Number         0  __dczerorl2.o ABSOLUTE
    ../clib/angel/boardlib.s                 0x00000000   Number         0  boardinit1.o ABSOLUTE
    ../clib/angel/boardlib.s                 0x00000000   Number         0  boardinit3.o ABSOLUTE
    ../clib/angel/boardlib.s                 0x00000000   Number         0  boardshut.o ABSOLUTE
    ../clib/angel/boardlib.s                 0x00000000   Number         0  boardinit2.o ABSOLUTE
    ../clib/angel/handlers.s                 0x00000000   Number         0  __scatter_zi.o ABSOLUTE
    ../clib/angel/kernel.s                   0x00000000   Number         0  __rtentry.o ABSOLUTE
    ../clib/angel/kernel.s                   0x00000000   Number         0  rtexit.o ABSOLUTE
    ../clib/angel/kernel.s                   0x00000000   Number         0  rtexit2.o ABSOLUTE
    ../clib/angel/kernel.s                   0x00000000   Number         0  __rtentry2.o ABSOLUTE
    ../clib/angel/kernel.s                   0x00000000   Number         0  __rtentry4.o ABSOLUTE
    ../clib/angel/rt.s                       0x00000000   Number         0  rt_heap_descriptor_intlibspace.o ABSOLUTE
    ../clib/angel/rt.s                       0x00000000   Number         0  rt_eh_globals_addr.o ABSOLUTE
    ../clib/angel/rt.s                       0x00000000   Number         0  rt_div0.o ABSOLUTE
    ../clib/angel/rt.s                       0x00000000   Number         0  rt_raise.o ABSOLUTE
    ../clib/angel/rt.s                       0x00000000   Number         0  aeabi_idiv0.o ABSOLUTE
    ../clib/angel/rt.s                       0x00000000   Number         0  aeabi_idiv0_sigfpe.o ABSOLUTE
    ../clib/angel/rt.s                       0x00000000   Number         0  rt_eh_globals_addr_intlibspace.o ABSOLUTE
    ../clib/angel/rt.s                       0x00000000   Number         0  rt_heap_descriptor.o ABSOLUTE
    ../clib/angel/scatterp.s                 0x00000000   Number         0  __scatter.o ABSOLUTE
    ../clib/angel/startup.s                  0x00000000   Number         0  __main.o ABSOLUTE
    ../clib/angel/sys.s                      0x00000000   Number         0  tempstk.o ABSOLUTE
    ../clib/angel/sys.s                      0x00000000   Number         0  libspace.o ABSOLUTE
    ../clib/angel/sys.s                      0x00000000   Number         0  use_no_semi.o ABSOLUTE
    ../clib/angel/sys.s                      0x00000000   Number         0  mutex_dummy.o ABSOLUTE
    ../clib/angel/sys.s                      0x00000000   Number         0  indicate_semi.o ABSOLUTE
    ../clib/angel/sys.s                      0x00000000   Number         0  sys_stackheap_outer.o ABSOLUTE
    ../clib/angel/sysapp.c                   0x00000000   Number         0  sys_wrch.o ABSOLUTE
    ../clib/angel/sysapp.c                   0x00000000   Number         0  sys_command.o ABSOLUTE
    ../clib/angel/sysapp.c                   0x00000000   Number         0  sys_exit.o ABSOLUTE
    ../clib/arm_runtime.c                    0x00000000   Number         0  init_aeabi.o ABSOLUTE
    ../clib/arm_runtime.c                    0x00000000   Number         0  init_aeabi.o ABSOLUTE
    ../clib/armsys.c                         0x00000000   Number         0  no_argv.o ABSOLUTE
    ../clib/armsys.c                         0x00000000   Number         0  _get_argv_nomalloc.o ABSOLUTE
    ../clib/armsys.c                         0x00000000   Number         0  _get_argv.o ABSOLUTE
    ../clib/armsys.c                         0x00000000   Number         0  argv_veneer.o ABSOLUTE
    ../clib/division.s                       0x00000000   Number         0  aeabi_sdiv_div0.o ABSOLUTE
    ../clib/division.s                       0x00000000   Number         0  aeabi_sdiv.o ABSOLUTE
    ../clib/heap1.c                          0x00000000   Number         0  h1_extend_mt.o ABSOLUTE
    ../clib/heap1.c                          0x00000000   Number         0  h1_extend.o ABSOLUTE
    ../clib/heap1.c                          0x00000000   Number         0  h1_alloc.o ABSOLUTE
    ../clib/heap1.c                          0x00000000   Number         0  h1_free_mt.o ABSOLUTE
    ../clib/heap1.c                          0x00000000   Number         0  h1_init_mt.o ABSOLUTE
    ../clib/heap1.c                          0x00000000   Number         0  h1_free.o ABSOLUTE
    ../clib/heap1.c                          0x00000000   Number         0  h1_init.o ABSOLUTE
    ../clib/heap1.c                          0x00000000   Number         0  h1_final.o ABSOLUTE
    ../clib/heap1.c                          0x00000000   Number         0  h1_final_mt.o ABSOLUTE
    ../clib/heap1.c                          0x00000000   Number         0  h1_alloc_mt.o ABSOLUTE
    ../clib/heap2.c                          0x00000000   Number         0  fdtree.o ABSOLUTE
    ../clib/heap2.c                          0x00000000   Number         0  heap2mt.o ABSOLUTE
    ../clib/heap2.c                          0x00000000   Number         0  heap2.o ABSOLUTE
    ../clib/heapalloc.c                      0x00000000   Number         0  term_alloc.o ABSOLUTE
    ../clib/heapalloc.c                      0x00000000   Number         0  init_alloc.o ABSOLUTE
    ../clib/heapalloc.c                      0x00000000   Number         0  maybetermalloc2.o ABSOLUTE
    ../clib/heapalloc.c                      0x00000000   Number         0  maybetermalloc2.o ABSOLUTE
    ../clib/heapalloc.c                      0x00000000   Number         0  maybetermalloc1.o ABSOLUTE
    ../clib/heapalloc.c                      0x00000000   Number         0  maybetermalloc1.o ABSOLUTE
    ../clib/heapalloc.c                      0x00000000   Number         0  heapstubs.o ABSOLUTE
    ../clib/heapalloc.c                      0x00000000   Number         0  free.o ABSOLUTE
    ../clib/heapalloc.c                      0x00000000   Number         0  hrguard.o ABSOLUTE
    ../clib/heapalloc.c                      0x00000000   Number         0  malloc.o ABSOLUTE
    ../clib/heapalloc.c                      0x00000000   Number         0  hguard.o ABSOLUTE
    ../clib/heapaux.c                        0x00000000   Number         0  heapauxa.o ABSOLUTE
    ../clib/heapaux.c                        0x00000000   Number         0  heapauxi.o ABSOLUTE
    ../clib/libinit.s                        0x00000000   Number         0  libshutdown.o ABSOLUTE
    ../clib/libinit.s                        0x00000000   Number         0  libinit.o ABSOLUTE
    ../clib/libinit.s                        0x00000000   Number         0  libinit2.o ABSOLUTE
    ../clib/libinit.s                        0x00000000   Number         0  libshutdown2.o ABSOLUTE
    ../clib/memcpset.c                       0x00000000   Number         0  rt_memcpy.o ABSOLUTE
    ../clib/memcpset.c                       0x00000000   Number         0  rt_memcpy.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_rtmem_inner.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_rtred_inner.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_abrt_inner.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_exit.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  __raise.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_stak_inner.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_segv_inner.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_other.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_general.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_abrt_outer.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_abrt_formal.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_fpe_formal.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_fpe_outer.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_rtmem_formal.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_rtmem_outer.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_fpe_inner.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_cppl_inner.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_pvfn_formal.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_pvfn_outer.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_pvfn_inner.o ABSOLUTE
    ../clib/signal.s                         0x00000000   Number         0  defsig.o ABSOLUTE
    ../clib/stdlib.c                         0x00000000   Number         0  exit.o ABSOLUTE
    ../clib/stdlib.c                         0x00000000   Number         0  rand.o ABSOLUTE
    ../clib/stdlib.c                         0x00000000   Number         0  rand.o ABSOLUTE
    ../clib/stdlib.c                         0x00000000   Number         0  abort.o ABSOLUTE
    ../fplib/cfplib/d2f.c                    0x00000000   Number         0  d2f.o ABSOLUTE
    ../fplib/cfplib/ddiv.c                   0x00000000   Number         0  ddiv.o ABSOLUTE
    ../fplib/cfplib/dmul.c                   0x00000000   Number         0  dmul.o ABSOLUTE
    ../fplib/cfplib/f2d.c                    0x00000000   Number         0  f2d.o ABSOLUTE
    ../fplib/cfplib/ffix.c                   0x00000000   Number         0  dfixui.o ABSOLUTE
    ../fplib/cfplib/ffix.c                   0x00000000   Number         0  ffixui.o ABSOLUTE
    ../fplib/cfplib/fpinit.c                 0x00000000   Number         0  fpinit.o ABSOLUTE
    ../fplib/cfplib/scalbn.c                 0x00000000   Number         0  fscalbn.o ABSOLUTE
    ../fplib/faddsub6m.s                     0x00000000   Number         0  faddsub.o ABSOLUTE
    ../fplib/fmul6m.s                        0x00000000   Number         0  fmul.o ABSOLUTE
    ../fplib/usenofp.s                       0x00000000   Number         0  usenofp.o ABSOLUTE
    ../mathlib/floorf.c                      0x00000000   Number         0  floorf.o ABSOLUTE
    ..\Libraries\CMSIS\ST\STM32F0xx\Source\Templates\arm\startup_stm32f0xx.s 0x00000000   Number         0  startup_stm32f0xx.o ABSOLUTE
    ..\Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_exti.c 0x00000000   Number         0  stm32f0xx_exti.o ABSOLUTE
    ..\Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_gpio.c 0x00000000   Number         0  stm32f0xx_gpio.o ABSOLUTE
    ..\Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_misc.c 0x00000000   Number         0  stm32f0xx_misc.o ABSOLUTE
    ..\Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_rcc.c 0x00000000   Number         0  stm32f0xx_rcc.o ABSOLUTE
    ..\Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_spi.c 0x00000000   Number         0  stm32f0xx_spi.o ABSOLUTE
    ..\Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_syscfg.c 0x00000000   Number         0  stm32f0xx_syscfg.o ABSOLUTE
    ..\Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_tim.c 0x00000000   Number         0  stm32f0xx_tim.o ABSOLUTE
    ..\Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_usart.c 0x00000000   Number         0  stm32f0xx_usart.o ABSOLUTE
    ..\User\src\Delay.c                      0x00000000   Number         0  delay.o ABSOLUTE
    ..\User\src\RadioHead\RHDatagram.cpp     0x00000000   Number         0  rhdatagram.o ABSOLUTE
    ..\User\src\RadioHead\RHGenericDriver.cpp 0x00000000   Number         0  rhgenericdriver.o ABSOLUTE
    ..\User\src\RadioHead\RHGenericSPI.cpp   0x00000000   Number         0  rhgenericspi.o ABSOLUTE
    ..\User\src\RadioHead\RHHardwareSPI.cpp  0x00000000   Number         0  rhhardwarespi.o ABSOLUTE
    ..\User\src\RadioHead\RHMesh.cpp         0x00000000   Number         0  rhmesh.o ABSOLUTE
    ..\User\src\RadioHead\RHReliableDatagram.cpp 0x00000000   Number         0  rhreliabledatagram.o ABSOLUTE
    ..\User\src\RadioHead\RHRouter.cpp       0x00000000   Number         0  rhrouter.o ABSOLUTE
    ..\User\src\RadioHead\RHSPIDriver.cpp    0x00000000   Number         0  rhspidriver.o ABSOLUTE
    ..\User\src\RadioHead\RH_RF22.cpp        0x00000000   Number         0  rh_rf22.o ABSOLUTE
    ..\User\src\RadioHead\STM32ArduinoCompat\HardwareSPI.cpp 0x00000000   Number         0  hardwarespi.o ABSOLUTE
    ..\User\src\RadioHead\STM32ArduinoCompat\wirish.cpp 0x00000000   Number         0  wirish.o ABSOLUTE
    ..\User\src\SensorNetwork.c              0x00000000   Number         0  sensornetwork.o ABSOLUTE
    ..\User\src\Uart.c                       0x00000000   Number         0  uart.o ABSOLUTE
    ..\User\src\main.cpp                     0x00000000   Number         0  main.o ABSOLUTE
    ..\User\src\stm32f0xx_it.c               0x00000000   Number         0  stm32f0xx_it.o ABSOLUTE
    ..\User\src\system_stm32f0xx.c           0x00000000   Number         0  system_stm32f0xx.o ABSOLUTE
    ..\\Libraries\\STM32F0xx_StdPeriph_Driver\\src\\stm32f0xx_exti.c 0x00000000   Number         0  stm32f0xx_exti.o ABSOLUTE
    ..\\Libraries\\STM32F0xx_StdPeriph_Driver\\src\\stm32f0xx_gpio.c 0x00000000   Number         0  stm32f0xx_gpio.o ABSOLUTE
    ..\\Libraries\\STM32F0xx_StdPeriph_Driver\\src\\stm32f0xx_misc.c 0x00000000   Number         0  stm32f0xx_misc.o ABSOLUTE
    ..\\Libraries\\STM32F0xx_StdPeriph_Driver\\src\\stm32f0xx_rcc.c 0x00000000   Number         0  stm32f0xx_rcc.o ABSOLUTE
    ..\\Libraries\\STM32F0xx_StdPeriph_Driver\\src\\stm32f0xx_spi.c 0x00000000   Number         0  stm32f0xx_spi.o ABSOLUTE
    ..\\Libraries\\STM32F0xx_StdPeriph_Driver\\src\\stm32f0xx_syscfg.c 0x00000000   Number         0  stm32f0xx_syscfg.o ABSOLUTE
    ..\\Libraries\\STM32F0xx_StdPeriph_Driver\\src\\stm32f0xx_tim.c 0x00000000   Number         0  stm32f0xx_tim.o ABSOLUTE
    ..\\Libraries\\STM32F0xx_StdPeriph_Driver\\src\\stm32f0xx_usart.c 0x00000000   Number         0  stm32f0xx_usart.o ABSOLUTE
    ..\\User\\src\\Delay.c                   0x00000000   Number         0  delay.o ABSOLUTE
    ..\\User\\src\\RadioHead\\RHDatagram.cpp 0x00000000   Number         0  rhdatagram.o ABSOLUTE
    ..\\User\\src\\RadioHead\\RHGenericDriver.cpp 0x00000000   Number         0  rhgenericdriver.o ABSOLUTE
    ..\\User\\src\\RadioHead\\RHGenericSPI.cpp 0x00000000   Number         0  rhgenericspi.o ABSOLUTE
    ..\\User\\src\\RadioHead\\RHHardwareSPI.cpp 0x00000000   Number         0  rhhardwarespi.o ABSOLUTE
    ..\\User\\src\\RadioHead\\RHMesh.cpp     0x00000000   Number         0  rhmesh.o ABSOLUTE
    ..\\User\\src\\RadioHead\\RHReliableDatagram.cpp 0x00000000   Number         0  rhreliabledatagram.o ABSOLUTE
    ..\\User\\src\\RadioHead\\RHRouter.cpp   0x00000000   Number         0  rhrouter.o ABSOLUTE
    ..\\User\\src\\RadioHead\\RHSPIDriver.cpp 0x00000000   Number         0  rhspidriver.o ABSOLUTE
    ..\\User\\src\\RadioHead\\RH_RF22.cpp    0x00000000   Number         0  rh_rf22.o ABSOLUTE
    ..\\User\\src\\RadioHead\\STM32ArduinoCompat\\HardwareSPI.cpp 0x00000000   Number         0  hardwarespi.o ABSOLUTE
    ..\\User\\src\\RadioHead\\STM32ArduinoCompat\\wirish.cpp 0x00000000   Number         0  wirish.o ABSOLUTE
    ..\\User\\src\\SensorNetwork.c           0x00000000   Number         0  sensornetwork.o ABSOLUTE
    ..\\User\\src\\Uart.c                    0x00000000   Number         0  uart.o ABSOLUTE
    ..\\User\\src\\main.cpp                  0x00000000   Number         0  main.o ABSOLUTE
    ..\\User\\src\\stm32f0xx_it.c            0x00000000   Number         0  stm32f0xx_it.o ABSOLUTE
    ..\\User\\src\\system_stm32f0xx.c        0x00000000   Number         0  system_stm32f0xx.o ABSOLUTE
    dc.s                                     0x00000000   Number         0  dc.o ABSOLUTE
    RESET                                    0x08000000   Section      192  startup_stm32f0xx.o(RESET)
    !!!main                                  0x080000c0   Section        8  __main.o(!!!main)
    !!!scatter                               0x080000c8   Section       60  __scatter.o(!!!scatter)
    !!handler_zi                             0x08000104   Section       28  __scatter_zi.o(!!handler_zi)
    .ARM.Collect$$libinit$$00000000          0x08000120   Section        2  libinit.o(.ARM.Collect$$libinit$$00000000)
    .ARM.Collect$$libinit$$00000002          0x08000122   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000002)
    .ARM.Collect$$libinit$$00000004          0x08000122   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000004)
    .ARM.Collect$$libinit$$0000000A          0x08000122   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000000A)
    .ARM.Collect$$libinit$$0000000C          0x08000122   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000000C)
    .ARM.Collect$$libinit$$0000000D          0x08000122   Section        4  libinit2.o(.ARM.Collect$$libinit$$0000000D)
    .ARM.Collect$$libinit$$0000000E          0x08000126   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000000E)
    .ARM.Collect$$libinit$$00000011          0x08000126   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000011)
    .ARM.Collect$$libinit$$00000013          0x08000126   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000013)
    .ARM.Collect$$libinit$$00000015          0x08000126   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000015)
    .ARM.Collect$$libinit$$00000017          0x08000126   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000017)
    .ARM.Collect$$libinit$$00000019          0x08000126   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000019)
    .ARM.Collect$$libinit$$0000001B          0x08000126   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000001B)
    .ARM.Collect$$libinit$$0000001D          0x08000126   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000001D)
    .ARM.Collect$$libinit$$0000001F          0x08000126   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000001F)
    .ARM.Collect$$libinit$$00000021          0x08000126   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000021)
    .ARM.Collect$$libinit$$00000023          0x08000126   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000023)
    .ARM.Collect$$libinit$$00000025          0x08000126   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000025)
    .ARM.Collect$$libinit$$0000002C          0x08000126   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000002C)
    .ARM.Collect$$libinit$$0000002E          0x08000126   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000002E)
    .ARM.Collect$$libinit$$00000030          0x08000126   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000030)
    .ARM.Collect$$libinit$$00000031          0x08000126   Section        4  libinit2.o(.ARM.Collect$$libinit$$00000031)
    .ARM.Collect$$libinit$$00000032          0x0800012a   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000032)
    .ARM.Collect$$libinit$$00000033          0x0800012a   Section        2  libinit2.o(.ARM.Collect$$libinit$$00000033)
    .ARM.Collect$$libshutdown$$00000000      0x0800012c   Section        2  libshutdown.o(.ARM.Collect$$libshutdown$$00000000)
    .ARM.Collect$$libshutdown$$00000002      0x0800012e   Section        0  libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)
    .ARM.Collect$$libshutdown$$00000004      0x0800012e   Section        0  libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)
    .ARM.Collect$$libshutdown$$00000007      0x0800012e   Section        0  libshutdown2.o(.ARM.Collect$$libshutdown$$00000007)
    .ARM.Collect$$libshutdown$$0000000A      0x0800012e   Section        0  libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A)
    .ARM.Collect$$libshutdown$$0000000C      0x0800012e   Section        0  libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)
    .ARM.Collect$$libshutdown$$0000000F      0x0800012e   Section        0  libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F)
    .ARM.Collect$$libshutdown$$00000010      0x0800012e   Section        2  libshutdown2.o(.ARM.Collect$$libshutdown$$00000010)
    .ARM.Collect$$rtentry$$00000000          0x08000130   Section        0  __rtentry.o(.ARM.Collect$$rtentry$$00000000)
    .ARM.Collect$$rtentry$$00000002          0x08000130   Section        0  __rtentry2.o(.ARM.Collect$$rtentry$$00000002)
    .ARM.Collect$$rtentry$$00000004          0x08000130   Section        6  __rtentry4.o(.ARM.Collect$$rtentry$$00000004)
    .ARM.Collect$$rtentry$$00000009          0x08000136   Section        0  __rtentry2.o(.ARM.Collect$$rtentry$$00000009)
    .ARM.Collect$$rtentry$$0000000A          0x08000136   Section        4  __rtentry2.o(.ARM.Collect$$rtentry$$0000000A)
    .ARM.Collect$$rtentry$$0000000C          0x0800013a   Section        0  __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)
    .ARM.Collect$$rtentry$$0000000D          0x0800013a   Section        8  __rtentry2.o(.ARM.Collect$$rtentry$$0000000D)
    .ARM.Collect$$rtexit$$00000000           0x08000142   Section        2  rtexit.o(.ARM.Collect$$rtexit$$00000000)
    .ARM.Collect$$rtexit$$00000002           0x08000144   Section        0  rtexit2.o(.ARM.Collect$$rtexit$$00000002)
    .ARM.Collect$$rtexit$$00000003           0x08000144   Section        4  rtexit2.o(.ARM.Collect$$rtexit$$00000003)
    .ARM.Collect$$rtexit$$00000004           0x08000148   Section        6  rtexit2.o(.ARM.Collect$$rtexit$$00000004)
    .emb_text                                0x08000150   Section       56  rand.o(.emb_text)
    .emb_text                                0x08000188   Section       56  rt_memcpy.o(.emb_text)
    .text                                    0x080001c0   Section       56  startup_stm32f0xx.o(.text)
    .text                                    0x080001f8   Section        0  rand.o(.text)
    .text                                    0x08000234   Section        0  rt_memcpy.o(.text)
    .text                                    0x080002b6   Section      346  aeabi_sdiv.o(.text)
    .text                                    0x08000410   Section        0  heapauxi.o(.text)
    .text                                    0x08000418   Section        0  init_aeabi.o(.text)
    .text                                    0x0800043c   Section        0  d2f.o(.text)
    .text                                    0x080004b8   Section        0  ddiv.o(.text)
    .text                                    0x08000900   Section        0  dfixui.o(.text)
    .text                                    0x08000948   Section        0  dmul.o(.text)
    .text                                    0x08000b90   Section        0  f2d.o(.text)
    .text                                    0x08000be4   Section        0  ffixui.o(.text)
    .text                                    0x08000c14   Section        0  fscalbn.o(.text)
    .text                                    0x08000c58   Section        0  defsig_pvfn_outer.o(.text)
    .text                                    0x08000c64   Section        0  defsig_exit.o(.text)
    .text                                    0x08000c70   Section        0  defsig_pvfn_inner.o(.text)
    .text                                    0x08000ca0   Section        0  sys_exit.o(.text)
    .text                                    0x08000cac   Section       62  sys_stackheap_outer.o(.text)
    .text                                    0x08000cea   Section        0  exit.o(.text)
    .text                                    0x08000cfa   Section        0  defsig_general.o(.text)
    .text                                    0x08000d2e   Section        0  sys_wrch.o(.text)
    .text                                    0x08000d3c   Section        8  libspace.o(.text)
    .text                                    0x08000d44   Section        2  use_no_semi.o(.text)
    .text                                    0x08000d46   Section        0  indicate_semi.o(.text)
    .text                                    0x08000d46   Section        0  __dczerorl2.o(.text)
    i.Delay                                  0x08000d9c   Section        0  delay.o(i.Delay)
    i.EXTI0_1_IRQHandler                     0x08000db0   Section        0  stm32f0xx_it.o(i.EXTI0_1_IRQHandler)
    i.EXTI4_15_IRQHandler                    0x08000dc4   Section        0  stm32f0xx_it.o(i.EXTI4_15_IRQHandler)
    i.EXTI_ClearITPendingBit                 0x08000df0   Section        0  stm32f0xx_exti.o(i.EXTI_ClearITPendingBit)
    i.EXTI_GetITStatus                       0x08000dfc   Section        0  stm32f0xx_exti.o(i.EXTI_GetITStatus)
    i.EXTI_Init                              0x08000e18   Section        0  stm32f0xx_exti.o(i.EXTI_Init)
    i.GPIO_Init                              0x08000e84   Section        0  stm32f0xx_gpio.o(i.GPIO_Init)
    i.GPIO_PinAFConfig                       0x08000ef4   Section        0  stm32f0xx_gpio.o(i.GPIO_PinAFConfig)
    i.GPIO_ResetBits                         0x08000f14   Section        0  stm32f0xx_gpio.o(i.GPIO_ResetBits)
    i.GPIO_SetBits                           0x08000f18   Section        0  stm32f0xx_gpio.o(i.GPIO_SetBits)
    i.GPIO_StructInit                        0x08000f1c   Section        0  stm32f0xx_gpio.o(i.GPIO_StructInit)
    i.GPIO_WriteBit                          0x08000f34   Section        0  stm32f0xx_gpio.o(i.GPIO_WriteBit)
    i.HardFault_Handler                      0x08000f40   Section        0  stm32f0xx_it.o(i.HardFault_Handler)
    i.NMI_Handler                            0x08000f42   Section        0  stm32f0xx_it.o(i.NMI_Handler)
    i.NVIC_Init                              0x08000f44   Section        0  stm32f0xx_misc.o(i.NVIC_Init)
    i.PendSV_Handler                         0x08000f94   Section        0  stm32f0xx_it.o(i.PendSV_Handler)
    i.RCC_AHBPeriphClockCmd                  0x08000f98   Section        0  stm32f0xx_rcc.o(i.RCC_AHBPeriphClockCmd)
    i.RCC_APB1PeriphResetCmd                 0x08000fb4   Section        0  stm32f0xx_rcc.o(i.RCC_APB1PeriphResetCmd)
    i.RCC_APB2PeriphClockCmd                 0x08000fd0   Section        0  stm32f0xx_rcc.o(i.RCC_APB2PeriphClockCmd)
    i.RCC_APB2PeriphResetCmd                 0x08000fec   Section        0  stm32f0xx_rcc.o(i.RCC_APB2PeriphResetCmd)
    i.RCC_GetClocksFreq                      0x08001008   Section        0  stm32f0xx_rcc.o(i.RCC_GetClocksFreq)
    i.SPI_Cmd                                0x08001108   Section        0  stm32f0xx_spi.o(i.SPI_Cmd)
    i.SPI_I2S_DeInit                         0x08001120   Section        0  stm32f0xx_spi.o(i.SPI_I2S_DeInit)
    i.SPI_I2S_GetFlagStatus                  0x08001160   Section        0  stm32f0xx_spi.o(i.SPI_I2S_GetFlagStatus)
    i.SPI_Init                               0x08001170   Section        0  stm32f0xx_spi.o(i.SPI_Init)
    i.SPI_ReceiveData8                       0x080011c4   Section        0  stm32f0xx_spi.o(i.SPI_ReceiveData8)
    i.SPI_SendData8                          0x080011c8   Section        0  stm32f0xx_spi.o(i.SPI_SendData8)
    i.SVC_Handler                            0x080011cc   Section        0  stm32f0xx_it.o(i.SVC_Handler)
    i.SYSCFG_EXTILineConfig                  0x080011d0   Section        0  stm32f0xx_syscfg.o(i.SYSCFG_EXTILineConfig)
    i.SetSysClock                            0x080011f8   Section        0  system_stm32f0xx.o(i.SetSysClock)
    SetSysClock                              0x080011f9   Thumb Code    18  system_stm32f0xx.o(i.SetSysClock)
    i.SetUp_GPIO                             0x08001214   Section        0  sensornetwork.o(i.SetUp_GPIO)
    i.SetUp_UART                             0x080012a4   Section        0  sensornetwork.o(i.SetUp_UART)
    i.SysTick_Handler                        0x08001318   Section        0  stm32f0xx_it.o(i.SysTick_Handler)
    i.SystemCoreClockUpdate                  0x08001328   Section        0  system_stm32f0xx.o(i.SystemCoreClockUpdate)
    i.SystemInit                             0x080013a4   Section        0  system_stm32f0xx.o(i.SystemInit)
    i.TIM3_IRQHandler                        0x08001404   Section        0  stm32f0xx_it.o(i.TIM3_IRQHandler)
    i.TIM_ClearITPendingBit                  0x08001420   Section        0  stm32f0xx_tim.o(i.TIM_ClearITPendingBit)
    i.TIM_GetFlagStatus                      0x08001426   Section        0  stm32f0xx_tim.o(i.TIM_GetFlagStatus)
    i.UART_SendChar                          0x08001434   Section        0  uart.o(i.UART_SendChar)
    i.UART_SendHex32                         0x08001460   Section        0  uart.o(i.UART_SendHex32)
    i.UART_SendStr                           0x080014a0   Section        0  uart.o(i.UART_SendStr)
    i.USART_Cmd                              0x080014b4   Section        0  stm32f0xx_usart.o(i.USART_Cmd)
    i.USART_GetFlagStatus                    0x080014cc   Section        0  stm32f0xx_usart.o(i.USART_GetFlagStatus)
    i.USART_Init                             0x080014dc   Section        0  stm32f0xx_usart.o(i.USART_Init)
    i.USART_SendData                         0x0800159c   Section        0  stm32f0xx_usart.o(i.USART_SendData)
    i._Z12digitalWritehh                     0x080015a4   Section        0  wirish.o(i._Z12digitalWritehh)
    i._Z15attachInterrupthPFvvEi             0x080015d0   Section        0  wirish.o(i._Z15attachInterrupthPFvvEi)
    i._Z5delayj                              0x08001650   Section        0  wirish.o(i._Z5delayj)
    i._Z6millisv                             0x08001668   Section        0  wirish.o(i._Z6millisv)
    i._Z7pinModeh13WiringPinMode             0x08001674   Section        0  wirish.o(i._Z7pinModeh13WiringPinMode)
    i._ZN10RHDatagram10headerFromEv          0x080016c0   Section        0  rhdatagram.o(i._ZN10RHDatagram10headerFromEv)
    i._ZN10RHDatagram11headerFlagsEv         0x080016c8   Section        0  rhdatagram.o(i._ZN10RHDatagram11headerFlagsEv)
    i._ZN10RHDatagram11setHeaderIdEh         0x080016d0   Section        0  rhdatagram.o(i._ZN10RHDatagram11setHeaderIdEh)
    i._ZN10RHDatagram11setHeaderToEh         0x080016d8   Section        0  rhdatagram.o(i._ZN10RHDatagram11setHeaderToEh)
    i._ZN10RHDatagram13setHeaderFromEh       0x080016e0   Section        0  rhdatagram.o(i._ZN10RHDatagram13setHeaderFromEh)
    i._ZN10RHDatagram14setHeaderFlagsEhh     0x080016e8   Section        0  rhdatagram.o(i._ZN10RHDatagram14setHeaderFlagsEhh)
    i._ZN10RHDatagram14setThisAddressEh      0x080016f0   Section        0  rhdatagram.o(i._ZN10RHDatagram14setThisAddressEh)
    i._ZN10RHDatagram14waitPacketSentEv      0x0800170c   Section        0  rhdatagram.o(i._ZN10RHDatagram14waitPacketSentEv)
    i._ZN10RHDatagram20waitAvailableTimeoutEt 0x08001714   Section        0  rhdatagram.o(i._ZN10RHDatagram20waitAvailableTimeoutEt)
    i._ZN10RHDatagram4initEv                 0x0800171c   Section        0  rhdatagram.o(i._ZN10RHDatagram4initEv)
    i._ZN10RHDatagram6sendtoEPhhh            0x0800173a   Section        0  rhdatagram.o(i._ZN10RHDatagram6sendtoEPhhh)
    i._ZN10RHDatagram8headerIdEv             0x08001758   Section        0  rhdatagram.o(i._ZN10RHDatagram8headerIdEv)
    i._ZN10RHDatagram8headerToEv             0x08001760   Section        0  rhdatagram.o(i._ZN10RHDatagram8headerToEv)
    i._ZN10RHDatagram8recvfromEPhS0_S0_S0_S0_S0_ 0x08001768   Section        0  rhdatagram.o(i._ZN10RHDatagram8recvfromEPhS0_S0_S0_S0_S0_)
    i._ZN10RHDatagram9availableEv            0x080017ba   Section        0  rhdatagram.o(i._ZN10RHDatagram9availableEv)
    i._ZN10RHDatagramC1ER15RHGenericDriverh  0x080017c2   Section        0  rhdatagram.o(i._ZN10RHDatagramC1ER15RHGenericDriverh)
    i._ZN11HardwareSPI5beginE12SPIFrequencyjj 0x080017c8   Section        0  hardwarespi.o(i._ZN11HardwareSPI5beginE12SPIFrequencyjj)
    i._ZN11HardwareSPI8transferEh            0x08001904   Section        0  hardwarespi.o(i._ZN11HardwareSPI8transferEh)
    i._ZN11HardwareSPIC1Ej                   0x08001938   Section        0  hardwarespi.o(i._ZN11HardwareSPIC1Ej)
    i._ZN11RHSPIDriver12spiBurstReadEhPhh    0x0800193c   Section        0  rhspidriver.o(i._ZN11RHSPIDriver12spiBurstReadEhPhh)
    i._ZN11RHSPIDriver13spiBurstWriteEhPKhh  0x08001982   Section        0  rhspidriver.o(i._ZN11RHSPIDriver13spiBurstWriteEhPKhh)
    i._ZN11RHSPIDriver4initEv                0x080019c8   Section        0  rhspidriver.o(i._ZN11RHSPIDriver4initEv)
    i._ZN11RHSPIDriver7spiReadEh             0x080019f6   Section        0  rhspidriver.o(i._ZN11RHSPIDriver7spiReadEh)
    i._ZN11RHSPIDriver8spiWriteEhh           0x08001a28   Section        0  rhspidriver.o(i._ZN11RHSPIDriver8spiWriteEhh)
    i._ZN11RHSPIDriverC2EhR12RHGenericSPI    0x08001a60   Section        0  rhspidriver.o(i._ZN11RHSPIDriverC2EhR12RHGenericSPI)
    i._ZN12RHGenericSPIC2ENS_9FrequencyENS_8BitOrderENS_8DataModeE 0x08001a78   Section        0  rhgenericspi.o(i._ZN12RHGenericSPIC2ENS_9FrequencyENS_8BitOrderENS_8DataModeE)
    i._ZN13RHHardwareSPI5beginEv             0x08001a8c   Section        0  rhhardwarespi.o(i._ZN13RHHardwareSPI5beginEv)
    i._ZN13RHHardwareSPI8transferEh          0x08001af0   Section        0  rhhardwarespi.o(i._ZN13RHHardwareSPI8transferEh)
    i._ZN13RHHardwareSPIC1EN12RHGenericSPI9FrequencyENS0_8BitOrderENS0_8DataModeE 0x08001b00   Section        0  rhhardwarespi.o(i._ZN13RHHardwareSPIC1EN12RHGenericSPI9FrequencyENS0_8BitOrderENS0_8DataModeE)
    i._ZN14SerialUSBClass7printlnEPKc        0x08001b10   Section        0  main.o(i._ZN14SerialUSBClass7printlnEPKc)
    i._ZN15RHGenericDriver10headerFromEv     0x08001b22   Section        0  rhgenericdriver.o(i._ZN15RHGenericDriver10headerFromEv)
    i._ZN15RHGenericDriver11headerFlagsEv    0x08001b26   Section        0  rhgenericdriver.o(i._ZN15RHGenericDriver11headerFlagsEv)
    i._ZN15RHGenericDriver11setHeaderIdEh    0x08001b2a   Section        0  rhgenericdriver.o(i._ZN15RHGenericDriver11setHeaderIdEh)
    i._ZN15RHGenericDriver11setHeaderToEh    0x08001b2e   Section        0  rhgenericdriver.o(i._ZN15RHGenericDriver11setHeaderToEh)
    i._ZN15RHGenericDriver13setHeaderFromEh  0x08001b32   Section        0  rhgenericdriver.o(i._ZN15RHGenericDriver13setHeaderFromEh
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

z

Error: L6218E: Undefined symbol UART_SendBuf(char*, unsigned short) (referred from main.o).

UART_SendBuf fonksiyonunun çağrılmasını engelle. Çağıran satırın başına // at.

Bir daha derle ne oluyor görelim.

Çipin tam adı ne?

Ramı ve romu çok az ise C de çok usta olman gerekir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

yldzelektronik

#7
@z
Abi o sorunu çözdük.Şimdi c++ ile ilgili bir sorun yaşıyorum.Yer sorunu yüzünden (16kb flash-stm32f030f4p) yakışıklı libde farklılık yapmam gerekiyor.Aslında libde olan güzelliklerden mahrum kalıp manuel yapmam gereken yerler var.

Bir class ın protected fonksiyonunu farklı bir dosya içinde nasıl kullanabilirim?Şöyle ki;

Lib içinde bir yerlerde interrupt handler var.Classın bir fonksiyonu. Interrupt service rutine içinde bunu çağırmam gerekiyor.Normalde stdlib de bilindiği üzere .c dosyaları var. stm32f0xx_it.c dosyasını .cpp olarak yeni dosya açıp içeriği aynen kopyaladım. Main içinde tanımladığım classı da bu it.cpp dosyasına extern ettim.Ancak ilgili fonksiyonu kullanmak istediğimde protected olan üyeye erişemeyeceğimi söylüyor haklı olarak.Şimdi bu sorunu nasıl çözebilirim?

mesaj birleştirme:: 13 Mayıs 2016, 16:35:04

@gerbay

Abi aldığım hata şu;

.\Objects\RfGateway.axf: Error: L6220E: Load region LR_IROM1 size (16464 bytes) exceeds limit (16384 bytes). Region contains 36 bytes of padding and 0 bytes of veneers (total 36 bytes of linker generated content).
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

yldzelektronik

Ben bu mcu ile daha evvel basit bir iş yapmıştım.Normalde bu proje için 128k model kullanıyorum.Ama pcbde sorun çıkınca acilen bu çözüme yöneldim.Acil bi sunum için hazırlık yapıyorum.

Bu arada uart1 rx irq kullanmak istiyorum.Ancak düzgün sonuç alamıyorum.

void SetUp_UART(void){
	GPIO_InitTypeDef 	 GPIO_InitStruct;
  NVIC_InitTypeDef	 NVIC_InitStructure;
	USART_InitTypeDef	 USART_InitStruct;//usart structure

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); 

	GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_1);
	GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_1);

	GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_AF;
	GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
	GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_2 | GPIO_Pin_3; 
	GPIO_InitStruct.GPIO_PuPd  = GPIO_PuPd_UP;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; 
	GPIO_Init(GPIOA, &GPIO_InitStruct);

	USART_InitStruct.USART_BaudRate            = 115200;
	USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
	USART_InitStruct.USART_Mode                = USART_Mode_Rx | USART_Mode_Tx;
	USART_InitStruct.USART_Parity              = USART_Parity_No;
	USART_InitStruct.USART_StopBits            = USART_StopBits_1;
	USART_InitStruct.USART_WordLength          = USART_WordLength_8b;
	USART_Init(USART1, &USART_InitStruct);

	USART_Cmd(USART1,ENABLE);
	
  /* Enable the USART Interrupt */
  NVIC_InitStructure.NVIC_IRQChannel 					= USART1_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelCmd 			= ENABLE;
  NVIC_InitStructure.NVIC_IRQChannelPriority 	= 1;
  NVIC_Init(&NVIC_InitStructure);
}


Başka bir fonksiyon içinde de
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
şeklinde irq açıyorum.

Ancak bir kez irq oluşuyor.İrq içinde
  if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
  {

  }


içine bir türlü girmiyor.Bakıyorum rxirq flagı set olmuş.Ama getstatus fonksiyonuna gidip gelene kadar reset oluyor.Nasıl iş anlamadım.
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

baran123

Hocam bayrağı temizlemek gerekmiyor mu ?
Ben şu şekilde yapmıştım.

void USART1_IRQHandler(void)
{
    if(USART_GetITStatus(USART1, USART_IT_RXNE))
	{
		// codes
	}
    USART_ClearITPendingBit(USART1, USART_IT_RXNE);
}

void SetUp_UART(void)
{
	GPIO_InitTypeDef 	 GPIO_InitStruct;
	NVIC_InitTypeDef	 NVIC_InitStructure;
	USART_InitTypeDef	 USART_InitStruct;

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); 

	GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_1);
	GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_1);

	GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_AF;
	GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
	GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_2 | GPIO_Pin_3; 
	GPIO_InitStruct.GPIO_PuPd  = GPIO_PuPd_UP;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; 
	GPIO_Init(GPIOA, &GPIO_InitStruct);

	USART_InitStruct.USART_BaudRate            = 115200;
	USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
	USART_InitStruct.USART_Mode                = USART_Mode_Rx | USART_Mode_Tx;
	USART_InitStruct.USART_Parity              = USART_Parity_No;
	USART_InitStruct.USART_StopBits            = USART_StopBits_1;
	USART_InitStruct.USART_WordLength          = USART_WordLength_8b;

	USART_Init(USART1, &USART_InitStructure);
        USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
        USART_Cmd(USART1, ENABLE);

	NVIC_InitStructure.NVIC_IRQChannel 			= USART1_IRQn;
	NVIC_InitStructure.NVIC_IRQChannelCmd 		= ENABLE;
	NVIC_InitStructure.NVIC_IRQChannelPriority 	= 1;
	NVIC_Init(&NVIC_InitStructure);
}