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 4 Hafta önce   #1
  • AR-GE Tim (Innovation)
  • Üye Bilgileri
Üyelik tarihi
01/2013
Mesajlar
Konular


  
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/
    


___________________________________________






knowledge --> cognitive --> skill
 Offline  
 
Alıntı ile Cevapla
Alt 4 Hafta önce   #2
  • Binbaşı
  • Üye Bilgileri
Üyelik tarihi
04/2014
Nereden
el psy congr
Yaş
21
Mesajlar
Konular


  


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 4 Hafta önce   #3
  • Binbaşı
  • Üye Bilgileri
Üyelik tarihi
08/2018
Nereden
Kayseri
Mesajlar
Konular


  


Üst düzey bilgi için teşekkürler.
    
 Offline  
 
Alıntı ile Cevapla
Alt 4 Hafta önce   #4
  • Dergi Tim Asistanı
  • Üye Bilgileri
Üyelik tarihi
10/2012
Nereden
Sql Database
Yaş
25
Mesajlar
Konular


  


Ü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 ( 4 Hafta önce Saat 03:47 ) değiştirilmiştir..
 Offline  
 
Alıntı ile Cevapla
Alt 4 Hafta önce   #5
  • AR-GE Tim (Innovation)
  • Üye Bilgileri
Üyelik tarihi
01/2013
Mesajlar
Konular


  


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


___________________________________________






knowledge --> cognitive --> skill
 Offline  
 
Alıntı ile Cevapla
Alt 4 Hafta önce   #6
  • Asteğmen
  • Üye Bilgileri
Üyelik tarihi
10/2018
Nereden
3232361
Mesajlar
Konular
4


  


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
    


___________________________________________

0x33BA218

 Offline  
 
Alıntı ile Cevapla
Alt 4 Hafta önce   #7
  • Teğmen
  • Üye Bilgileri
Üyelik tarihi
09/2018
Nereden
Grafik
Mesajlar
Konular


  


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


___________________________________________

1881-193∞
 Offline  
 
Alıntı ile Cevapla
Alt 4 Hafta önce   #8
  • Üsteğmen
  • Üye Bilgileri
Üyelik tarihi
08/2015
Nereden
~/
Mesajlar
Konular


  


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


___________________________________________

Cake is a lie_
Oıenxgığız qüşü xvz oülügrprx?
 Offline  
 
Alıntı ile Cevapla
Alt 4 Hafta önce   #9
  • Binbaşı
  • Üye Bilgileri
Üyelik tarihi
03/2018
Nereden
C:/Users/M.H
Yaş
17
Mesajlar
Konular


  


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


___________________________________________

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



ÖNCE VATAN



╠────╬╬╬─────────────────────────╬╬╬───╣
 Offline  
 
Alıntı ile Cevapla
Alt 2 Hafta önce   #10
  • Asteğmen
  • Üye Bilgileri
Üyelik tarihi
12/2007
Nereden
d'N
Mesajlar
Konular
2


  


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 - 2018

TSK Mehmetçik Vakfı

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

Google+
film izle

wau

Search Engine Friendly URLs by vBSEO 3.6.0 ©2011, Crawlability, Inc.