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 26-11-2018 16:06   #11
  • Tamamen Forumdan Uzaklaştırıldı
  • Üye Bilgileri
Üyelik tarihi
05/2018
Mesajlar
Konular

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




bende yazın C ye giriş yapacağım inşallah ama bu tarz dillere de çok ilgim var eline sağlık
 Offline  
 
Alıntı ile Cevapla
Alt 26-11-2018 17:36   #12
  • Binbaşı
  • Üye Bilgileri
Üyelik tarihi
08/2017
Nereden
Nereye...
Mesajlar
Konular

Teşekkür (Etti): 59
Teşekkür (Aldı): 159




Elinize sağlık



___________________________________________

Alma mazlumun ahını, çıkar aheste aheste

 Offline  
 
Alıntı ile Cevapla
Alt 26-11-2018 18:26   #13
  • Teğmen
  • Üye Bilgileri
Üyelik tarihi
09/2017
Mesajlar
Konular

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




eline sağlık..



___________________________________________

Kurt'lar ulumadıkça köpekler susmaz. Köpekler ürese de Kurt'lar korkmaz...

 Offline  
 
Alıntı ile Cevapla
Alt 4 Hafta önce   #14
  • Asteğmen
  • Üye Bilgileri
Üyelik tarihi
01/2019
Nereden
Cehennem!
Mesajlar
Konular
4

Teşekkür (Etti): 12
Teşekkür (Aldı): 3




Alıntı:
Emperor Federico´isimli üyeden Alıntı Mesajı göster

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/
https://www.youtube.com/watch?v=19B9QSsBCoU&t=431s
ardunio daki gibi fakat herbir kodu kendimiz derlemek zorundayız anladığıma göre bence Assembly üzerinden anlatsaydınız daha verimli oludu ." Arge Tim Personeli " Ama onun dışında anlatışısınız düzgün sade ve yalın bir şekilde eğer ses değiştirici kullanıyorsanız forum üzerinden veya özel mesaj yoluyla iletirseniz çok sevinirim. Eğer Dikkatli dinlerseniz sesini bazı yerlerde gerçekten kalın oluyor o hatalarınıza bence dikkat ediniz.Onun dışında 'da genel olarak bir birini tamamlayan bir anlatım yapmışsınız Ellerinize & Dilinize Sağlık.

Saygılarımla. / - Asteğmen: ByZv

İyi Çalışmalar.
 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