"Enter"a basıp içeriğe geçin

Kategori: ARM

STM32F103VCT6 USART1 Haberleşmesi

hikayedir atlayabilirsiniz.

Uzun bir süreden sonra tekrar bir şeyler yazabileceğim. Bu yazıyı bana mail yoluyla ulaşıp soru soran bir arkadaşın sayesinde yazıyorum. Buradan bu yazıyı yazmama vesile olduğu için teşekkür ederim.

Bilindiği üzere yeni nesil mikrodenetleyiciler gittikçe yaygınlaşmakta ve picleri halının altına süpürmekte. İnternet 5-6 yıl öncesine göre çok daha fazla bilgi edinme kaynağı olmakta. 2006 yılında e-proje gibi sitelerde bir şeyler öğrenmeye çalışan ve genellikle anfi (amplifikatör) yapmaya çalışan liseli gençlerdik. Şimdiyse 3 boyutlu yazıcılardan insansız hava araçlarına (drone)   kadar hayal edemeyeceğimiz bir çok gelişmeyi çok hızlı bir şekilde denemekte ve sonuçlarını elde etmekteyiz.

Paylaşacağım bilgi çok küçük bir bilgi olsa da yeni başlayanlar için önemli bir yere sahip olacağı kanısındayım.

LPC21xx Uart veri gönderme

lpc21xx_uart

İş yerinde Erdoğan’ın yapmış olduğu uygulamanın bir çok kişinin arayıp yapamadığı fikri beni bu yazıyı yazmaya yöneltti. LPC21xx serisi ARM işlemcilerde UART biriminden veriyi nasıl yollarız? nasıl veri alırız? bununla ilgili olarak ilk başta veri göndermekle ilgili olanı sizinle paylaşacağım. LPC serisinin İsiste simülasyonu olması bu işlemci üzerinde daha çabuk sonuçlar elde etmemizi sağlıyor. Çünkü baskılı devresini çizmek basmak çalıştırmak ve sorunları çözmek cidden zaman kaybına neden oluyor.

STM32VLDISCOVERY ile Matlab-Simulink projesi oluşturmak

Hızlı ve pratik olması nedeniyle hala pic’leri kullansak da gün geçtikçe ARM tabanlı mikro denetleyicilerin kullanımı yaygınlaşmaktadır. Matlab programı kendini kanıtlamış ve akademik projelerde yoğun olarak kullanılmaktadır. Matlab kullananlar bilir Sumulink bloglardan oluşmaktadır ve çok kısa sürede akıllı denetim sistemleri (pid vb) çalıştırılabilmektedir. Bu yazımda STM32VLDISCOVERY kitinin Matlab’de nasıl kullanıldığını anlatacağım.

LPC2104 – Örnek Programlar

Örnek 1

Pin 0’a bağlanmış bir led’i 500 milisaniye boyunca 1, 500 milisaniye boyunca 0 yapan programı yazınız.

#include <LPC21xx.H> //islemcinin kaynak dosyasi ekleniyor.

/* Gecikme Fonksiyonu */
void Gecikme (long int sure)
{
 long int i,k; // 16 bitlik i degiskeni tanimlaniyor.
 for (i=1;i<=sure;i++) // girilen deger i degiskeninden büyük olana kadar for içerisinde dön
 {
 for (k=0;k<=12000;k++)
 {}
 }
}
/* Ana Fonksiyon */
int main (void) {

IODIR0 = 0x00000001; //giris cikis ayarlama komutu 1 cikis 0 giris
// 1. biti cikis digerleri giris

 while (1) { //sonsuz döngü
 IOSET0 = 0x00000001; //1. biti 1 yap
 Gecikme(500); //bekleme yap (yaklasik 500 msn - 12Mhz de)
 IOCLR0 = 0x00000001; //1. biti 0 yap
 Gecikme(500); //bekleme yap (yaklasik 500 msn - 12Mhz de)
 }
}