Stm32 Gerçek devrede debug yapıyorum ama çalışmıyor

Başlatan mistek, 03 Şubat 2014, 11:42:55

mistek

Stm32f100 ile ne zaman devre kursam hep bir aksilik silsilesi oluyor.

Devre PCB üzerine kurulu bağlantıları ölçtüm tarttım sorun yok. PinA15 i set ediyorum ledde hiç hareketlilik yok. Debug moduna giriyorum adım adım kodları işletiyorum Pin set ediliyor gözüküyor ama dışarıda bir değişiklik yok.

Çipi Farnell'den aldım arıza olacağını zannetmiyorum.

Debugta aktif oldu deyip gerçekte olmaması gibi bir durum nasıl olur?
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

Ramiz

-Osc kaynağınız temiz mi?
-Boot pinleri ne durumda?


Electrical & Electronics Engineering -> Step one

mistek

Sorunun kaynağını buldum çözümü bulamadım.

   RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOB, ENABLE);
   
   GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
	
	  GPIO_InitStructure.GPIO_Pin 	= GPIO_PinSource9;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode 	= GPIO_Mode_Out_PP; 		//Output
		GPIO_Init(GPIOB, &GPIO_InitStructure);


İle PB9 pininden çıkış alamıyorum programda başka hiçbirşey aktif değil sadece pin toggle yapıyorum.

boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

camby

- B9 pininde jtag-swd bir şey var mı ?

- toggle nasıl yapıyorsunuz ?

- direnç değeri nedir ?

Aynı sorundan bir keresinde kafayı yemiştim , 2 gün uğraştım , sonra ilgili bacağa ait yolun via noktasında gnd ile kısadevre olduğunu farkettim. Yani PCB hatalıydı..

mistek

GPIOB->ODR ^= 1 << 9; Toggle için.

PB9 pininde AF olarak sadece timerlar var ancak ben onları açmadım default olarak pin I/O modda.

330ohm. Direk Vcc ye bağlayınca yeterli seviyede yanıyor.

Ölçeyim belki öyle bişey vardır uyuz etti sabahtan beri

Ölçtüm temassızlık veya yanlış bağlantıda yok.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

mistek

stm32_standart library ve benim dikkatsizliğim...

Sorunun kaynağını buldum çözümüde buldum.
stm32f107 de kullandığım kodları f100'e aynen geçirmiştim ilk başta problem yokmuş gibi davranıyordu ancak işin rengi sonradan belli oldu.

f107 de GPIO ayarlarken şeklinde kullanıyordum sorun olmamıştı bende o şekilde kullanmaya devam ettim.
GPIO_InitStructure.GPIO_Pin 	= GPIO_PinSource9;


f100'e geçirince bişeyler ters gitmeye başladı uzun deneme yanılma sonucunda doğru kullanım şeklinin
GPIO_InitStructure.GPIO_Pin 	= GPIO_Pin_9;

olduğunu öğrendim. Aslında ikisi arasında .h dosyasında çok bi farklılık yok o yüzden önemsememiştim. Dikkatsizlik başa bela.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R