Stm32F donanım gereksinimleri

Başlatan muhittin_kaplan, 11 Aralık 2012, 12:02:16

muhittin_kaplan

Evet, bazı durumlar yaşamaya başladım, yüklerken problemler yaşadım, aştım. ADC ölçümünde gördüğüm ilginç bir durumu hem paylaşıp hem çözüm arayalım.
GPIOC.8,9.10,11 den ölçüm alırken kanal3 de problem yaşamaya başladım. Kontrol ettiğimde Arızalındığını gördüm. GND ile kısa devre olduğunu gördüm. Neden Kısa devre olur ? 

z

Sınırların dışında voltaj girmişsindir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muhittin_kaplan

NRST yi nasıl yapacağız ? ben bir adet 3 lü jumper koydum. istersem gnd ye istersem vcc ye bağlayabiliyorum. NRST nin dış etkenlerden etkilenmemesi için neler yapılmalı ?

Klein

VCC 10k , GND 100n
Dün test etmiştim. PullUp bile olmasa dışarıdan etkilenmiyor. Çok özel şeyler yapmana gerek yok. Programlama soketi ile pin arasındaki mesafeyi çok uzatma , kapasiteyi mümkün olduğunca pine yakın koy. Hatta SWD pinlerini port olarak kullanmayacaksan , programlama soketine bile çıkmana gerek yok. bir tane 100n at yeter. 

muhittin_kaplan

Donanımla alakalı değil ama bir türlü çözemediğim bir problem var.
coocox ile yazabiliyorum, derleyip gönderebiliyorum stm32f103rbt6 ya ama debug yapamıyorum.

startup_stm32f10x_md.c dosyasında

static void default_handler()
while()
{
}

e giriyor.

Klein

Programı yüklediğinde normal çalışıyor, debug ederken mi çalışmıyor?

muhittin_kaplan

32f100rb de debugdada çalışmasında da problem yok. kodu alıp yeni bir proje oluşturup 103 e yapıştırıyorum. OSC ayarlarında problem olduğunu fark ettim debug yapayım dedim orada takılıp kalıyor.
32f100rb ile yazdığım programı hiç yeni proje açmadan doğrudan yüklüyorum yine debug yapamıyorum. orada kalıyor.

Klein

Default handler  rutini tüm kesmelerin default olarak  çağırdığı rutin. Eğer bir kesme ayarlanmış ama yönetilmemişse default handler kodu çağırılır.  STM32F100 ile yazdığın kodun doğrudan 103 ile çalışmaması açıklanabilir belki ama , yeni proje açıp , kaynak kodları yeni projeye yapışırınca çalışmaması ilginç.
Kodları upload edebilirsen denerim.

muhittin_kaplan

#8
akşam ancak yollayabilirim.

mesaj birleştirme:: 12 Aralık 2012, 14:16:14

Hocam stm32f103rbt6 ile 72mhz lik bir çalışma yapmayı planlıyorum ama yükleme yapabiliyor (program çalışmıyor) debug yapamıyorum.

Kodlar burada

#include "stm32f10x.h"
#include "stm32f10x_flash.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"
#include "misc.h"

GPIO_InitTypeDef GPIO_InitStructure;
RCC_ClocksTypeDef RCC_ClockFreq;
ErrorStatus HSEStartUpStatus;


void SetSysClockTo72(void)
{
/* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------------------------*/
/* RCC system reset(for debug purpose) */
RCC_DeInit();

/* Enable HSE */
RCC_HSEConfig( RCC_HSE_ON);

/* Wait till HSE is ready */
HSEStartUpStatus = RCC_WaitForHSEStartUp();

if (HSEStartUpStatus == SUCCESS) 
{
/* Enable Prefetch Buffer */
FLASH_PrefetchBufferCmd( FLASH_PrefetchBuffer_Enable);

/* Flash 2 wait state */
FLASH_SetLatency( FLASH_Latency_2);

/* HCLK = SYSCLK */
RCC_HCLKConfig( RCC_SYSCLK_Div1);

/* PCLK2 = HCLK */
RCC_PCLK2Config( RCC_HCLK_Div1);

/* PCLK1 = HCLK/2 */
RCC_PCLK1Config( RCC_HCLK_Div2);

/* PLLCLK = 8MHz * 9 = 72 MHz */
RCC_PLLConfig(0x00010000, RCC_PLLMul_9);

/* Enable PLL */
RCC_PLLCmd( ENABLE);

/* Wait till PLL is ready */
while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) 
{
}

/* Select PLL as system clock source */
RCC_SYSCLKConfig( RCC_SYSCLKSource_PLLCLK);

/* Wait till PLL is used as system clock source */
while (RCC_GetSYSCLKSource() != 0x08) 
{
}
} 
else 
{ /* If HSE fails to start-up, the application will have wrong clock configuration.
User can add here some code to deal with this error */

/* Go to infinite loop */
while (1) 
{
}
}

}


main blogunda da led yak söndür var.

mesaj birleştirme:: 12 Aralık 2012, 14:58:18

hocam kodla alakalı değil muhtemelen. keza sadece boş main blogunu koydum
hala aynı. config lerle alakalı olabilir mi ?


mesaj birleştirme:: 12 Aralık 2012, 16:08:21

hocam debug yapma olayını çözdüm. configuration da "debug in ram" seçeneğini seçince debug yapabiliyorum. diğer durumlarda olmuyor.

hatayı buldum ama yine geldim donanımda takıldım.
HSEStartUpStatus = RCC_WaitForHSEStartUp();

if (HSEStartUpStatus == SUCCESS)

ile HSE nin stabil olması bekleniyor ama benim xtal çalışmıyor bundan dolayı sonsuz döngüye giriyor. (önceki hatada RCC_interrupttan dolayı default handler e gdiyor)
Xtal ı kontrol ettim pin çakılı olan boardumda çalışmıyor (Osilaskop ile bakığımda frekans görmüyorum) cristal osilatörden eminim başka boarda da frekans üretebiliyor. neden çalışmayabilir ?

mesaj birleştirme:: 12 Aralık 2012, 19:40:28

Esas soru şu Cristal Osilator neden çalışmaz ?

mesaj birleştirme:: 12 Aralık 2012, 19:52:38

Xtall da kapasite yokmuş ondan olurmu ki ?

muhittin_kaplan

Ram üzerinde yaptığım Debugda program çalışırken neden Download ettiğimde (rom a atttığıda) çalışmaz ?

Klein


muhittin_kaplan

#11
hocam basit bir PWM çalışması yaptım. RAM ile debug yaptığımda problem olmuyor debug yapabiliyor çalıştırabiliyorum (enerjisini kesene kadar tabi.)
Ama ROM a atmaya çalıştığımda Atıyor, Okuyor ve yazıyorum, Ama çalışmıyor. Debug yapmaya çalıştığımda default_handler e gidiyor.
(HSE değil HSI çalışıyorum RAM debugda problemsiz çalışıyor)

mesaj birleştirme:: 14 Aralık 2012, 15:10:26

hocam coocox la çalışıyorum "acaba" diyerek, rom un başlangıç adresinde bir terslik mi var başlaması gereken yerde başlamıyormu dedim. Keil i kontrol ettim aynı start ve size değerlerine sahip

X-Fi

NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x8000000);

Satırını ekleyipde deneyin kesme vektörleri normalde romda ama ram de çalışıyorsa ram için adres değiştirilmiş demektir.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

muhittin_kaplan

Aynı Programı başka işlemciye attım. Çalışıyor. Deli Olacam Yahu.
Rom da problem varsa neden yüklememe vs ye izin veriyor. verify ediyorum herşey normal. yaka için rozet yapacağım bu işlemciyi.
Daha Fazla Uğraşmayacağım keza 1 gündür bu meretle uğraşıyorum. Çalıyı dolanacağım. Yapmadığım birşey kalmadı.

Sorun Şimdilik Çözüldü

SpeedyX

Merhaba,

Başka bir başlık açmak istemedim.

STM32F103RC de 8Mhz internal oscillator kullanıldığında USB donanımı çalışabiliyor mu?

İç osilatörü tavsiye eder misiniz?