STM32F407 Cortex M4 şamataları

Başlatan bunalmis, 16 Ekim 2011, 17:14:50

sseedat

Bilgisayarın stm kitini tanımaması neyden kaynaklanıyordur bilgisi olan varmı. :'(
Görünmez bir mezarlıktır Zaman...

sseedat

bazen görüyor görmeyincede görmüyor...
Görünmez bir mezarlıktır Zaman...

Saruman

Alıntı yapılan: sseedat - 19 Şubat 2012, 02:50:39
Bilgisayarın stm kitini tanımaması neyden kaynaklanıyordur bilgisi olan varmı. :'(

Tanımamaktan kastınız nedir, mesela nasıl bir uyarıyla karşılaşıyorsunuz?

yamak

Arkadaşlar kit ile gelen mouse uygulamasının kodları bir yerlerde var mı acaba?

sseedat

Alıntı yapılan: silvercopper - 19 Şubat 2012, 11:24:11
Tanımamaktan kastınız nedir, mesela nasıl bir uyarıyla karşılaşıyorsunuz?
usb aygıtı tanımıyor uyarısı veriyor.
Görünmez bir mezarlıktır Zaman...

fryrmnd

@yamak hocam
http://www.st.com/internet/evalboard/product/252419.jsp  var ama demonstration/binary de hex dosyası var. bir de demonstration altında main.c var. blink mems felan onda gibi ama mouse olayı var mı tam inceleyemedim.

mcan

#891
Usart modulünü msb first yada lsb first olarak ayarlayabilceğimiz bir yapı varmı? Yada işlemciye ait bir bellek erişim yapısı yani msb yi alıp lsb ye yazsın diğer kalan bitleri de aynı şekilde..

Gelişme;
Sanırım aradığım şey RBIT komutu bunu keilde c fonksiyonu olarak  nasıl kullanırız? #asm  #endasm gibi bir preprocessor varmı?

eqooo

STM32F407 nin Network Interface özelliği bulunuyor mu?

mcan

Alıntı yapılan: mcan - 27 Şubat 2012, 21:26:08
Usart modulünü msb first yada lsb first olarak ayarlayabilceğimiz bir yapı varmı? Yada işlemciye ait bir bellek erişim yapısı yani msb yi alıp lsb ye yazsın diğer kalan bitleri de aynı şekilde..

Gelişme;
Sanırım aradığım şey RBIT komutu bunu keilde c fonksiyonu olarak  nasıl kullanırız? #asm  #endasm gibi bir preprocessor varmı?
Bulamayanlar için fonskiyon bu __RBIT(uint32_t int value) CMSIS ile geliyor.

sseedat

bilgisayarın stm kartını tanıyamaması  kullandığım kabloyla alakalıymış.orjinal kablo ile sorun ortadan kalktı aynı sorunu yaşayanlar  kabloyu değiştirerek sorunu halledebilirler.
Görünmez bir mezarlıktır Zaman...

sseedat

ADC  uygulaması yapan varmı.varsa paylaşabilirmi:)
Görünmez bir mezarlıktır Zaman...

Klein


sseedat

teşekkürler görmemişim orayı
Görünmez bir mezarlıktır Zaman...

sseedat

LM35  sıcaklık  sensörü  ile sıcaklık okutmaya çalışıyorum da bir türlü  adc ayarlarını kuramadım.program aşağıdaki gibi eksiklik yada hata nerde yardımcı olursanız sevinirim.

#include "STM32F4xx.h" 
#include "Delay.c"
#include "HD44780.c" 

 unsigned char say[]="";
  uint16_t adc_val;
  float isb=0.005;

 
void SystemInit()
{
unsigned int i;
    for (i=0;i<0x00100000;i++);       // OSC oturtma ve kurtarma rutini
    RCC->CFGR |= 0x00009400;          // AHB ve APB hizlarini max degerlere set edelim
    RCC->CR |= 0x00010000;            // HSE Xtal osc calismaya baslasin        
    while (!(RCC->CR & 0x00020000));  // Xtal osc stabil hale gelsin
    RCC->PLLCFGR = 0x07402584;        // PLL katsayilarini M=4, N=150, P=2 ve Q=7 yapalim   150 Mhz 
    RCC->CR |= 0x01000000;            // PLL calismaya baslasin  (Rehber Sayfa 95)
    while(!(RCC->CR & 0x02000000));   // Pll hazir oluncaya kadar bekle
    FLASH->ACR = 0x00000605;          // Flash ROM icin 5 Wait state secelim ve ART yi aktif edelim (Rehber Sayfa 55)
    RCC->CFGR |= 0x00000002;          // Sistem Clk u PLL uzerinden besleyelim
    while ((RCC->CFGR & 0x0000000F) != 0x0000000A); // Besleninceye kadar bekle
    RCC->AHB1ENR |= 0x0000000F;       // GPIO A,B,C,D clock'u aktif edelim 
     GPIOD->MODER = 0x55005555;     // GPIOD nin 15, 14, 13, 12 pinleri cikis tanimlandi (LEDler icin) 0..7 arasıda çıkış
	  GPIOB->MODER = 0x00000500;    


    GPIOA->OSPEEDR= 0x00000000;   // GPIOD nin tum cikislarinı Max. 2 Mhz de kullanacağız.
    GPIOB->OSPEEDR= 0x00000000;	  // AYnı şey GPIOB içinde geçerli
    GPIOC->OSPEEDR= 0xFFFFFFFF;
    GPIOD->OSPEEDR= 0xFFFFFFFF;

	
     GPIOB->MODER |= 0x00000003; 
     RCC->APB2ENR|=0x00000100;  // ADC saat kaynağını aktif ettik. 
     ADC1->CR1 |=0x00000100; //  ADC scan modunda çalışacak.
     ADC1->SQR3 |= 0x00000008; // Çevrime ilk girecek kanal 8. (PB0)
     ADC1->CR2 |=0x00000003;   // AD converter'i açtık. Sürekli çevirim yapacağımızı belirttik. 
} 
 

int main()
{
volatile int i;
 	 Lcd_init();
	  ADC1->CR2 |=0x40000000; // ADC çevrimini başlattık. 
  
  while(1)
  	{

		  	if(ADC1->SR & 0x0002)
			{
            ADC1->SR &= ~0x0002;
            adc_val= ADC1->DR;
		
            }
			adc_val=adc_val*isb*100;
				sprintf(say,"%d",adc_val);
			Lcd_Git(2,0);
			   Lcd_Yaz(say);
			   Delay_ms(2000);

	}
	
}
Görünmez bir mezarlıktır Zaman...

Klein

Sorunu biraz daha açık tarif eder misin? Ne oluyor ya da ne olmuyor?