Turkhackteam.net/org - Turkish Hacking & Security Platform  
Geri git   Turkhackteam.net/org - Turkish Hacking & Security Platform >
Information Technology’s
> Elektrik-Elektronik

Elektrik-Elektronik Elektrik-Elektronik ile ilgili doküman, devre şemaları, örnek devreler ve geliştirme kartları ile ilgili bilgi bulabileceğiniz bölüm




Arm Programlama (Tutorial-2) - Mikrodenetleyiciler

Elektrik-Elektronik

Yeni Konu aç Cevapla
 
Seçenekler
Alt 14-11-2018 23:14   #1
  • AR-GE Tim
  • Üye Bilgileri
Üyelik tarihi
01/2013
Mesajlar
Konular

Teşekkür (Etti): 27
Teşekkür (Aldı): 183


Arm Programlama (Tutorial-2) - Mikrodenetleyiciler




Yazılım dünyasına girdiğimizde "Hello World" ne ise, elektronik ile yazılım birleştiği dünyada yapacağınız ilk iş led yakmak olur. Gerek lisede gerek üniversitede laboratuvara ilk girdiğinizde PIC ya da başka bir entegre üzerinden led yakarsınız. Bu konumuzda STM32F4 ile üzerindeki ledleri C dili ile yakacağız.

Önceki videoda ben Keil version5 kullanacağımı söylemiştim. Linux'a geçme durumunda kaldığım için Atollic'den devam ediyorum, çünkü Keil, Linux destekli değil.


Atollic kurulumu için ST'nin sitesine gidip indirebiliriz, ben Debian komutlarını vereceğim;

Kod:
Arşivi Ayıklamak;
$ tar -xvf ~/Downloads/Atollic_TrueSTUDIO_for_STM32_linux_x86_64_v9.1.0_20181011-1241.tar.gz

Konum Belirleyip Yükle
$ cd Atollic_TrueSTUDIO_for_STM32_9.1.0_installer && sudo ./install.sh

Terminalden Başlat
$ cd /opt/Atollic_TrueSTUDIO_for_STM32_9.1.0/ide && ./TrueSTUDIO
Bizim bir de STM32CubeMX programına ihtiyacımız olacak. Bunu da ST'nin sitesinden indirebiliriz.
STM32CubeMX bir yazılım yapılandırma aracıdır.



[+]CubeMX’in aşamalarına değinecek olursak[+]
-Önce development kit’imizi belirliyoruz.
-Gerekli olan Input-Outputları enable ediyoruz.
-Clock Signal Configuration yapıyoruz.
-Gerekli olan farklı amaçlı configi de ypıyoruz.
-Son olarak derleyicimizi belirleyip kodumuzu generate ediyoruz.

Atollic'de yeni bir proje oluşturacağız.
1.New Project diyerek yeni bir C formatlı dosya oluşturuyoruz.
2.Gömülü sistem programlayacağımız için Embeded'i seçiyoruz.
3.Boardımızın ailesini belirliyoruz.

Öncelikle kütüphanemizin içine gidiyoruz (stm32f4xx.h)
HSE_VALUE olacak burada. Bu bizim external osilatörümüzün frekans değeridir.Yani harici osilatörümüzdür. Biz bunu 8 MHz olarak belirliyoruz.
HSI_VALUE ise 16 MHz olacak şekilde konfigüre ediyoruz.

Bizim bilmemiz gereken şey PLL ve FLL'dir. PLL; Faz kitlemedir, FLL; Frekans kitlemedir.
Buradaki formülleri mutlaka bilmelisiniz. İşin mühendisliği buradadır. Bu işleri STM32CubeMX'den de yaptırabilirsiniz fakat dediğim gibi, işin formülünü bilmelisiniz, hesabınızı yapabilmelisiniz.
Genel olarak bir kapalı çevrim kontrol blog diyagramını düşünün, burada referans giriş var, referans giriş ile üretilen sinyal karşılaştırılarak hata sinyali elde ediliyor. Bu hata sinyali controllerdan geçirilerek referans(set) değerindeki sinyal üretilmeye çalışılıyor amaç budur.

External ya da Internal Değerini / M'e bölüyorsunuz bu sonucu N ile çarpıyorsunuz ve size VCO'yu veriliyor.
(E ya da I / M) * N = VCO (Voltage Controlled Oscilator

Buradan çıkaracağımız değerler;
PLL_M 8
PLL_N 336
PLL_P 2
PLL_Q 7

SystemCoreClock 168 MHz olmalı (168000000)

Ve Structure nedir bilmeliyiz.
Structure'ın Türkçe karşılığı yapı demektir. Daha önce tanımlanmış olan veri tiplerinin bir araya gelmiş halidir.-ki bu veri tiplerine daha önce tanımladığımız structurelar da dahildir. Bunu daha iyi anlamak için şöyle açıklayalım; Bir yolu, structureın, veriyi kullanıcıya ya da o programı kullanacak olan kişiye daha rahat bir şekilde gruplamak için kullandığımızı söyleyebiliriz.

Şimdi kodumuzu yazalım;

Yararlanacağımız structure GPIO_InitTypeDef



Daha önceki konuda Bus Matrix'in ne olduğundan bahsetmiştik. Biz yapacağımız işleri A portuna yükleyeceğimizden dolayı GPIOA'ya giden yolu ENABLE etmeliyiz bu işlem için AHB1 busını kullanacağız.

Şimdi structuredan alacağımız argümanlara değinelim;
GPIO_Pin //Burada pinlerimizi belirtiyoruz.
GPIO_Mode //Burada pinlerimizin out olduğunu belirtiyoruz.
GPIO_OType // Push Pull - Open Drain olduğunu belirtiyoruz.

Bu işlemleri gerçekleştirdikten sonra A portuna kaydedip X'e atayacağız. Bu da şu şekilde gerçekleşecek;
GPIO_Init(GPIOA, &X)

Biz buraya kadar konfigürasyon ayarlarımızı yapmış olduk. Şimdi programın kendisine gelelim;
GPIO_SetBits( GPIOA, Buraya Pinleri gireceğiz)
Bu kod girilen pinleri Logic1 yapar aktif hale getirir.
Kod:
#include "stm32f4xx.h"
#include "stm32f4_discovery.h"

GPIO_InitTypeDef X;

voıd settings(voıd)
{
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA ,ENABLE);
    X.GPIO_Pin   = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15 ;
    X.GPIO_Mode  = GPIO_Mode_Out;
    X.GPIO_OType = GPIO_OType_PP;
    GPIO_Init(GPIOA, &X);
}

int main(voıd)
{
    config();
  while(1)
  {
     GPIO_SetBits(GPIOA, GPIO_Pin12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin 15);
  }
}
https://paste.ubuntu.com/p/xgyT7MntBk/



___________________________________________

"Dünyanın bütün dağlarında, ormanlarında, bîr tek yaprağı bile bir başkasının tıpkısı olarak yaratmamıştır Tanrı. Oysa siz farklı olmayı delilik sayıyorsunuz."
 Offline  
 
Alıntı ile Cevapla
Alt 15-11-2018 01:07   #2
  • Binbaşı
  • Üye Bilgileri
Üyelik tarihi
04/2014
Nereden
el psy congr
Yaş
21
Mesajlar
Konular

Teşekkür (Etti): 191
Teşekkür (Aldı): 311




Oldukca yararli ancak biraz kacti bana elektronik kismkiyla pek ilgilendigimi soyleyemem ama forumda boyle bilgi yogunlugu yuksek konular gormek sevindirdi.



___________________________________________

asdasdasdasrtewter

 Offline  
 
Alıntı ile Cevapla
Alt 15-11-2018 01:18   #3
  • Binbaşı
  • Üye Bilgileri
Üyelik tarihi
08/2018
Nereden
Kayseri (:
Mesajlar
Konular

Teşekkür (Etti): 334
Teşekkür (Aldı): 248




Üst düzey bilgi için teşekkürler.
 Online  
 
Alıntı ile Cevapla
Alt 15-11-2018 03:46   #4
  • Sosyal Medya Timi
  • Üye Bilgileri
Üyelik tarihi
10/2012
Nereden
Sql Database
Yaş
25
Mesajlar
Konular

Teşekkür (Etti): 747
Teşekkür (Aldı): 897




Üniversite yıllarımda arduino ide editör programı ile az led lamba yakmamış idim o günler geldi aklıma emeğine sağlık



___________________________________________

"Kendinizi geliştirmeye o kadar çok zaman harcayın ki Başkalarının yaptıklarıyla ilgilenmeye ve onları eleştirmeye vaktiniz olmasın"

Konu 'Adige tarafından (15-11-2018 03:47 Saat 03:47 ) değiştirilmiştir..
 Online  
 
Alıntı ile Cevapla
Alt 15-11-2018 21:22   #5
  • AR-GE Tim
  • Üye Bilgileri
Üyelik tarihi
01/2013
Mesajlar
Konular

Teşekkür (Etti): 27
Teşekkür (Aldı): 183




Gömülü sistemler forumda ilgi görmüyor maalesef, teşekkürler.



___________________________________________

"Dünyanın bütün dağlarında, ormanlarında, bîr tek yaprağı bile bir başkasının tıpkısı olarak yaratmamıştır Tanrı. Oysa siz farklı olmayı delilik sayıyorsunuz."
 Offline  
 
Alıntı ile Cevapla
Alt 15-11-2018 21:25   #6
  • Teğmen
  • Üye Bilgileri
Üyelik tarihi
10/2018
Nereden
3232361
Mesajlar
Konular
4

Teşekkür (Etti): 108
Teşekkür (Aldı): 16




Teşekkürler, bu tür konuları arşivliyorum artık arşivde 50-60 dan fazla link birikti hepside turkhackteame ait ve hepside ar-ge ekibine



___________________________________________

7320-7556-7345-7352-7867-3333-5452-0241

 Offline  
 
Alıntı ile Cevapla
Alt 15-11-2018 21:56   #7
  • Teğmen
  • Üye Bilgileri
Üyelik tarihi
09/2018
Nereden
Grafik
Mesajlar
Konular

Teşekkür (Etti): 66
Teşekkür (Aldı): 49




Eline sağlık +teşekkür



___________________________________________

1881-193∞
 Offline  
 
Alıntı ile Cevapla
Alt 15-11-2018 22:02   #8
  • Yüzbaşı
  • Üye Bilgileri
Üyelik tarihi
08/2015
Nereden
~/
Mesajlar
Konular

Teşekkür (Etti): 298
Teşekkür (Aldı): 209




Güzel konu. Eline sağlık.



___________________________________________

Cake is a lie_

 Offline  
 
Alıntı ile Cevapla
Alt 15-11-2018 22:11   #9
  • Binbaşı
  • Üye Bilgileri
Üyelik tarihi
03/2018
Nereden
C:/Users/M.H
Yaş
17
Mesajlar
Konular

Teşekkür (Etti): 224
Teşekkür (Aldı): 381




Ellerine sağlık konu düzeni çok güzel olmuş



___________________________________________

╠────╬╬╬─────────────────────────╬╬╬───╣



ÖNCE VATAN



╠────╬╬╬─────────────────────────╬╬╬───╣
 Offline  
 
Alıntı ile Cevapla
Alt 26-11-2018 15:16   #10
  • Asteğmen
  • Üye Bilgileri
Üyelik tarihi
12/2007
Nereden
d'N
Mesajlar
Konular
2

Teşekkür (Etti): 0
Teşekkür (Aldı): 10




Etkilendim.
 Offline  
 
Alıntı ile Cevapla
Cevapla

Bookmarks

Seçenekler


Bilgilendirme Turkhackteam.net/org
Sitemizde yer alan konular üyelerimiz tarafından paylaşılmaktadır.
Bu konular yasalara uygunluk ve telif hakkı konusunda yönetimimiz tarafından kontrol edilse de, gözden kaçabilen içerikler yer alabilmektedir.
Bu tür konuları turkhackteamiletisim [at] gmail.com mail adresimize bildirebilirsiniz, konular hakkında en kısa sürede gerekli işlemler yapılacaktır.
Please Report Abuse, DMCA, Harassment, Scamming, Warez, Crack, Divx, Mp3 or any Illegal Activity to turkhackteamiletisim [at] gmail.com

Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz.
Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.



         

Powered by vBulletin® Copyright ©2000 - 2019

TSK Mehmetçik Vakfı

Türk Polis Teşkilatını Güçlendirme Vakfı

Google+

Sosyal Medya Bayilik Paneli
paykasa

wau