stm32f030k6t6 sorusu

Başlatan Karamel, 02 Haziran 2015, 23:28:56

Karamel

yazin bu microcontroller i ogrenmek istiyorum. datasheetini incelerken birsey dikkatimi cekti. USART1 RX PA15 te var. PA3 tede RB7 dede. stm32 cube mx programi USART1 RX i PA3 olarak gosteriyor? bu ozelligi diger 2 pindede kullanabiliyormuyuz? benim kafam cok karisti  :-\


http://www.st.com/web/en/resource/technical/document/datasheet/DM00088500.pdf

muhittin_kaplan

Karemel, Bir çevresel üniteyi değişik birkaç pinde kullanabiliyorsun,
örnek vermek gerekirse Stm32f4 ün
PB13  USART3_RX
PD9    USART3_RX da olabiliyor


mesaj birleştirme:: 02 Haziran 2015, 23:47:34

el cevap "kullanırsın"
(niye uzattıysam)

hgs

Map ettiğin pine aktatırılıyor fonksiyon. 2 tane rx1 tanımlayamazsın.

Karamel

hocam simdi anladim. peki default olarak su pin diye direk datasheet ten gorebiliyormuyuz? yoksa reference manual i acip. registerlarimi kontrol etmemiz gerekli?

muhittin_kaplan

28/96 dan başlıyor senin datada

Karamel

#5
Alıntı yapılan: muhittin_kaplan - 03 Haziran 2015, 00:16:55
28/96 dan başlıyor senin datada

hocam birsey anlamadim yine. usart1 modulu active ettigimi varsayalim. sadece active ettim vede baska hic birsey yapmadim. simdi rx ve tx pinleri hangi bacaklara atanacaklar? bunun default bir degeri olmali?



mesaj birleştirme:: 03 Haziran 2015, 00:23:08

PA15. PA3 ve RB7. hepsinde ayni function var. bunlarin hangisi default olarak RX ucu olacak?

muhittin_kaplan

#6
default birşey yok, hepsini sen yapıyorsun.
bir pinin hızını, Dijital IO olup olmadığını, PullUp,PullDown yada analog giriş olması gerektiğini sen ayarlıyorsun, Ama yok ben bu pine bir Ünite bağlayacağım (SPI,I2C USART gibi) diyorsan tablodaki Alternate functions a bakıyorsun. Tabi Bunda da kısıtlar mevcut

şurada anlatılmış.
http://hsel.co.uk/2014/05/31/stm32f0-tutorial-1-gpio/

mesaj birleştirme:: 03 Haziran 2015, 00:41:23



Burasıda Başka biryerden
include main.h

int main (void)
{
  USART_InitTypeDef USART_InitStructure;
  GPIO_InitTypeDef GPIO_InitStructure;

  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);// GPIOA ya clk ver

  RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);//USART2 ye clk ver

  GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_1);//BURASI ONEMLI GPIOA nın Pin2 sini AlternateFunction1 yap (USART A BAĞLA)
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_1);//BURASI ONEMLI GPIOA nın Pin2 sini AlternateFunction1 yap (USART A BAĞLA) data Sayfa 29

//pin2 ve pin3, max50mhz hızında alternate function Pullup olacak şekilde ayarla
  //Configure USART2 pins:  Rx and Tx ----------------------------
  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_2 | GPIO_Pin_3;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

  //Configure USART2 setting:         ----------------------------
  USART_InitStructure.USART_BaudRate = 9600;
  USART_InitStructure.USART_WordLength = USART_WordLength_8b;
  USART_InitStructure.USART_StopBits = USART_StopBits_1;
  USART_InitStructure.USART_Parity = USART_Parity_No;
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
  USART_Init(USART2, &USART_InitStructure);

  USART_Cmd(USART2,ENABLE);

  while(1)
  {
   while (USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET);

   USART_SendData(USART2, 'X');
  }

  return 0;
}

Karamel

hocam sanirim kendimi iyi ifade edemedim.  :-\

hocam simdi microcontroller in registerlari icin default degerleri olmali. bu degerlere gore. baska default durumlar gelismeli.

mesela gpio icin biz hiz in degistigi register a dokunmasak bile default olarak bir hiz secilmis olmasi gerekli?

simdi ben sadece usart birimini actim ve sen su pinde calis demedim. alternate registerina dokunmadim. dolayisi ile usart default olarak bir pinde calismaya baslamasi gerekli? bu pini sanirim datasheet ten okuyup anlayamiyoruz?


hocam bir sorum daha var. cube mx bana hic sormadan usart i PA2 PA3 te acti. bunlar default pinler olabilir mi?

muhittin_kaplan

şöyle bir tabloya baktım, hiçbir peripheral pine bağlı değil (afler dışında)buna bağlı olarak
"ben SPI yı set edeyim o pini default olarak bağlasın" olmaz.

Karamel

mikro c for arm da soyle birsey yapmislar.




hangi pinler ile calisacagini UARTx (x yerine yazilan rakam ile) seciyormus. demek ki arm microcontrollerlarda soyle birsey varmis. eger datasheet te birden fazla bacakta usart1 yaziyorsa. pcb miz icin hangisi uygunsa o ikiliyi kullanip. yazilimla o bacaklara function i switch ediyoruz.

hgs

Microc ile uğraşmayı bırak.

Karamel

#11
hocam anlayamadigim soyle seyler var.

cogunlukta bircok hocam keil e yada iar a gec diyorlar. keil i bilgisayarima indirip kurmustum gectigimiz yaz. st kutuphanelerinden hicbirini ekleyip derleyemedim. (ekleme manasinda birseyler yaptim ama keil hep hata verip derlemedi)

simdi st nin hal kutuphaneleri var. bunlarla register lara deger yazmadan. yani atiyorum A port u 50mhz hizinda olsun diye yaziyoruz. kutuphane 50 mhz in karsiligini gerekli register a yaziyor? iste sunlar giris olsun diyoruz. giris yapmak icin belli bir sayi degerini IO control registerina yaziyor.

mikroc de zaten boyle?

birde hocam. bazi kutuphaneler yazilmasi cok zor seyler sanki. mesela sd card yada usb libraryleri gibi? bunlari keil da nasil halledecegim?


keil suan bana asiri sade oldugu icin cok karmasik geliyor. nedemek bu? ne yapmam gerektigini anlayamiyorum.

mesaj birleştirme:: 03 Haziran 2015, 03:03:38

hocam mesela asagidaki videoda gpio ile ilgili library yi nasil ekleyecegimiz anlatiliyor ama ben hic birsey anlamadim acikcasi. options tan bir suru yer gosterdik. USE_STDPERIPH_DRIVER_STM32F4XXX yazdik. herseyi yaptim yine 13 tane hata aldim. bana cok zor geliyor bu keil......  :-\

http://www.youtube.com/watch?v=UKY3scPIMd8#ws

mesaj birleştirme:: 03 Haziran 2015, 03:44:03

bunlarin hepsini cope attim. youtube da cubemx videolari izledim. gorsel olarak ayarlari yapip code urettiriyoruz. sonrasinda bu code u derleyip. microcontroller imiza godneriyoruz. keil 4.73 yukarisini desteklemedigi icin. deney yapamadim.

http://www.youtube.com/watch?v=UKY3scPIMd8#ws

RaMu

#12
Yapamadım edemedim.
Denemeye devam edeceksin, kimse ana karnında öğrenmiyor.

Cubemx ve keil için:
Linkde hazırladığım resimli anlatım var.
https://www.picproje.org/index.php?topic=59665.new#new

Bu konudada yararlandığım kaynak var.
(Aslında ne bulursam yararlanıyorum ama temel kaynak bu oldu)
https://www.picproje.org/index.php/topic,59106.msg456754.html#msg456754

Ayrıca Baştan Sona STM32F0 Discovery Uygulamaları
https://www.picproje.org/index.php/topic,58660.0.html
adlı konuda takip edilmeli,
orada anlatılan başka ide ve derleyici için olsa bile
temel mantık çok benzer hatta aynı.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html