“Arguments cannot have explicit memory specificator” Hatası

Gömülü sistem ile uğraşan arkadaşların karşılaşacağı bir problem de “Arguments cannot have explicit memory specificator”
hatası olabilir bu hatanın nedeni ise kullandığınız derleyicideki keywordlerden birini değişken olarak kullanmaya çalışmanızdır.
Mesela ben Micro C derleyicisine “data” isimli bir değişken verince böyle bir sorunla karşılaşıyorum. Eğer değişkenin ismini değiştirirseniz bu hata ortadan kalkacaktır.

Reklamlar

Sanal Terminalden Girilenleri Lcd’de Yazdırma

Gömülü Sistem Tasarımı dersinde yaptığımız projeleri burada paylaşacağım.

İlk anlatacağım proje Sanal Terminal’den girilen stringleri Lcd ekranında yazdırma.Bu projeyi yapabilmek için ilk önce isis ve micro c programlarını bilgisayarınıza kurmanız gerekmektedir.

İlk olarak projemizin görsel kısmını yani İsis de olan kısmını yapıp kodlama kısmına daha sonra geçeceğiz.İsis’de oluşturulan dosyalar .dsn uzantılıdır.Bizim de .dsn uzantılı dosyamızda olması gereken elemanlar şu şekilde olabilir;

İlk olarak bir microişlemciye ihtiyacımız var ben microişlemci olarak 16F877A işlemcisini kullanıyorum.

Microişlemcinin çalışmaya başlaması için de power elemanımız olmalı.

Yazdığımız yazıları ekranda göstereceğimiz bir LCD miz ve bu yazıları yazmak için bir sanal terminalimiz olmalı.

Ayrıca haberleşmeyi sağlayabilmemiz için Compim modülümüz gereklidir.

Bizim bu projeyi gerçekleştirmek için Usart modülüyle ilgili bilgimizin olması gerekir bu yüzden aşağıda Usart ile ilgili biraz bilgi vereceğim.

USART modülü mikrodenetleyicilerin çoğunda bulunan kullanımı basit ve standart seri RS232 haberleşme birimidir. Universal Synchronous Aynchronous Receiver Transmitter (Evrensel Senkron Asenkron Alıcı Verici) anlamına gelmektedir. Bu modülden gönderilmek istenen datalar, sıra ile lsb den msb ye doğru yani en düşük değerlikli bitten en yüksek değerlikli bite doğru gönderilir.  Gönderici taraf TX (transmitter) hattını data göndermezken Lojik1 seviyesinde tutar. Data gönderileceği anda hat Lojik 0 seviyesine çekilerek data gönderilmeye başlanır. Bu işlemdeki hattı Lojik 1 den Lojik 0 seviyesine çekme olayına start biti denir.  Yukarıdaki şekilde bunu daha iyi görmekteyiz zaten. Start bitinden sonra, datalar bit bit gönderilip dataların sonunda ise Stop biti gönderilir. Stop biti ise, son bitten sonra(MSB den sonra) hattı lojik 1 seviyesine çıkarma işlemidir. Eğer 9 bitlik data gönderimi veya parity(eşlik biti gönderimi yapılmıyor ise) bir byte data gönderimi için toplam 10 bit gönderilir. 1 start bit + 8 data bit + 1 stop bit..

Alıcı taraf ise hattın lojik1 den lojik0 seviyesine çekildiğinde data gönderiminin başladığını anlar gelen bitleri ayarlanan baudrate süresince alır ve buffer ı na yazar. Stop biti ile buffera gelen data yazılmış olur. Ve ilgili flag set edilir. Eğer kesme kullanıyorsak, kesme alt programına dallanır. Kesme kullanmıyor isek, buffer dolduğunda set edilen barağı sürekli kontrol ederek datanın gelmiş olduğunu anlarız.

Baudrate meselesine gelince… Baudrate 1 bitin ne kadar sürede gönderileceğini ve alınacağını belirleyen bps(bit per second – 1 saniyede gönderilen bit sayısı) birimi ile ölçülür.  Sizde birçok yerde görmüşsünüzdürki, Baudrate parametresi 1200,2400,4800,9600,19200,115200 gibi değerler almaktadır. Alıcı taraf ile gönderici tarafın baudrate değeri aynı olmalıdır ki, gönderilen datalar alıcı tarafında doğru bir şekilde alınabilsin.

Usart ile ilgili bilgi verdiğimize göre artık projemize geçebiliriz.Projemizin isis de görüntüsü aşağıda görüldüğü gibidir.

isis

Micro c deki kodlarımıza gelince:

sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;

sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;

sbit LCD_D7_Direction at TRISB3_bit;

char uart_rd;
main()
{
int i;
TRISB=0;
Lcd_Init();
Lcd_Cmd(_LCD_CLEAR); //
Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off
Lcd_Out(1,6,”Hosgeldiniz”);
UART1_Init(9600);
UART1_Write_Text(“istediginizi girin”);
UART1_Write(13);

while (1) { // Endless loop
if (UART1_Data_Ready()) { // If data is received,
uart_rd = UART1_Read(); // read the received data,
UART1_Write(uart_rd); // and send data via UART
Lcd_Chr_CP(uart_rd);

if(uart_rd==13) Lcd_Cmd(_LCD_SECOND_ROW);

}
}

}

Html5 nedir,ne değildir?

HTML5; html dili için yeni stratejiler ve hedefler ortaya koyan ve farklı web tarayıcıları için standardizasyonu amaçlayan yeni nesil bir sürüm olarak karşımıza çıkmaktadır. HTML5 ile html dilinin işlevselliği, programlama ve sunum gücü artmıştır. HTML5′e yeni eklenen yapısal elemanlar sayesinde fazla kod yazmadan sitenizin görsel tasarımını yapabilir, JavaScript ve CSS3 teknolojilerini daha etkin bir şekilde kullanabilirsiniz. HTML5 tasarımcıların web sayfalarında zengin medya içerikleri kullanmalarına ve interaktif web uygulamaları geliştirebilmelerine olanak sağlayan yeni elemanlar, özellikler ve teknolojiler barındırır.
HTML5 içinde bulunan tüm teknolojiler aslında HTML5 ile beraber yeni oluşturulan ve duyurulan teknolojiler değildir. W3C tarafından önceden oluşturulmuş ve modern web tarayıcıları tarafından kısmen desteklenen bir takım teknolojilerde (Örneğin; SVG-Scalable Vector Graphic) HTML5 içerisine dahil edilmiştir.
W3C, HTML5 dilini geliştirmeye devam etmekdetir bu açıdan ilerleyen zaman dilimlerinde dile yeni eklentilerin olması muhtemeldir. Ayarıca HTML5 dilinin diğer bir avantajı da, HTML dili içinde bulunmayan fakat HTML5′in duyurulması (kullanılması) ile beraber etkinliği (önemi) artan (artacak olan)diğer teknolojilerin de modern web tarayıcıları tarafından desteklenmeye başlamasıdır.

 

Html5 in Flash ve Silverlight yerine tercih edilmesinin sebebiyse herhangi bir plugin gerektirmiyor oluşudur.Günümüzde hemen her browser ve telefon tarafından desteklenen HTML5,web sayfalarında zengin medya içerikleri kullanmalarına ve interaktif web uygulamaları geliştirebilmelerine olanak sağlayan yeni elemanlar, özellikler ve teknolojiler barındırır.

HTML5 Ile Paralax Web Sitesi

CSS 3.0 ve Html5’in birleşmesiyle ortaya çıkan kaliteli işlerden bir tanesidir Paralax Web Siteleri.Zengin görsel şölen sunan,ziyaretçiye kullanıcı hissi yaratan web siteleridir.Büyük markalar özellikle araba ve ayakkabı markaları tarafından tercih edilir.

Paralax web sitesini kendi hikayesini anlatan web sitesi diye tanımlıyorlar.Gerçekten de bilgiyi görselliğe yerleştirmenin adı paralax olmuş 🙂

Paralax web sitesini daha iyi anlamanız için bir kaç link veriyorum.Ziyaret ederseniz çok daha iyi anlayacaksınız.

http://demo.gavick.com/joomla25/creative/
http://www.soleilnoir.net/believein/#/iOS
https://victoriabeckham.landrover.com/INT

 

HTML5 ile Responsive Web Sitesi

İnternetin hayatımızın büyük bir parçası haline geldiği bugünlerde, sadece bilgisayar  üzerinden internete ve sosyal paylaşım alanlarına ulaşmak yetersiz kalabiliyor. Bu nedenle de mobil internet yükselen bir trend  olarak seyrine devam ediyor. Bilgisayar ekranlarında  gördüğümüz internet sitelerine, cep telefonundan girince yaşanan zorlukları hepimiz biliyoruz. Menülerin yerleri karışır, resimlerin boyutları büyük olduğundan ya hata verir ya da hiç anlaşılmayacak şekilde görülür.

Tüm bu sorunlara çözüm olarak ortaya çıkmış bir tasarım şeklidir, duyarlı web tasarım

En genel anlamıyla, web sitelerin boyut ve çözünürlüklerinin internete bağlanılan araçlara göre şekillendirilmesi ve uyumlandırılması  işlemidir.

Responsive(duyarlı) web sitesine örnek ise;

http://www.microsoft.com/tr-tr/default.aspx

http://html5up.net/

 

Html5 ile yapılmış çok beğendiğim bir sitenin daha linkini veriyorum.Adamlar daha ne yapsın 🙂

http://workshop.chromeexperiments.com/stars/

Facebook Api Key Nedir?Nasıl alınır?

Bir çoğumuzun yabancı olduğu facebook api key,facebookta uygulama geliştirmek için veya yaptığınız uygulamayı Facebookla senkronize etmeye yarayan bir paroladır.Mesela sitenize facebookla bağlan butonu koyacaksanız bunun için facebook api keyi kullanmalısınız.

Peki bu facebook api key nasıl alınır?

https://developers.facebook.com adresine facebook adresinizle girip

App Id ve App Secret bilgilerinizi kolayca alabilirsiniz.

AdsızYukarıdaki görüntüyü kolayca elde edebilirsiniz.

 

Visual Studio 2012 Için Dll Indirme

Bazı projeler için dll eklememiz gerekebilir.Saatlerce internet sitelerinden araştırıp bulmak yerine Visual Studio 2012  bize çok güzel bir hizmet sundu.

Dll’leri artık visual studio nun kendi içerisinden kolayca bulup ekleyebiliyoruz.Projemize solution explorer sekmesinde sağa tıklayıp

Manage NuGet Packages ile bütün dll’lere kolayca ulaşabiliyoruz.Adsız

Bir developer için hız çok önemli 😉

Tıkladıktan hemen sonra internetinizin olup olmadığını kontrol ediyor.Search kısmına aradığınız dll’in ismini yazınca çıkan sonuçlardan istediğinizi indirebilirsiniz.Bu dlllerden kaç tane indirildiğine dair bilgilere de ulaşabilirsiniz.

Seçtiğiniz dll’i install yapmanızla birlikte reference olarak projenize eklenir.

Adsız

“No connection string named ” ” could be found in the application config file” Hatası

Eğer Visual Studio kullanıyorsanız ve projenize veritabanınızı dll olarak eklemek istiyorsanız bu hatayla çok sık karşılaşabilirsiniz.

İster servislerle istersede normal bir console uygulamasında projeyi geliştirmeye çalışın bu hatayla sıkça karşılaşabilirsiniz.Bu hata sizin dll’e dahil ettiğiniz entityi projenin tanımadığını gösterir.Yani benim dll’deki entity ismin Adres_Defteri_Entity olsun hatamız

No connection string named “Adres_Defteri_Entity”  could be found in the application config file.

olarak karşımıza çıkacaktır.

Peki bunu nasıl çözeriz? Tabiki config dosyasını düzenleyerek. dll de kullanılan config dosyasını aynen kopyalayıp kendi projemizin içindeki config dosyasını düzgün bir şekilde yerleştirirseniz bu hatadan kurtulabilirsiniz.

Karşılaştığım hataları blogumdan paylaşmaya devam edeceğim.

İş Zekası Zirvesi-Datawarehouse

“Bilişime Türkçe Yeter” sloganıyla yola çıkmış Datawarehouse ekibinin düzenlediği İş Zekası Zirvesinden bahsetmek istiyorum.

Bu alanda ilerlemek isteyen herkesin katılması gerektiğine inandığım bir etkinlik.

İş Zekası  alanında ülkemiz hızlı bir gelişim süreci yaşıyor.Bu süreçte firmalar verilerini daha hızlı ve doğru şekilde analiz ederek, ihtiyaçlarını sınıflandırıp daha iyi çözümler sunmaya çalışmaktadır. Peki firmalar nasıl çözüm üretir ? İşi uzmanlarından dinlemek için Datawarehouse Türkiye ekibi  Türkiyede ilk defa İş Zekası Zirvesini başlatıyor !

30Mart 2013 tarihinde Üsküdar Gençlik Merkezinde İş Zekası Zirvesi için İş Zekası Uzmanları ile buluşmaya hazır mısınız!

Microsoft,Gtech,Intellium,Log YönetimiÜsküdar Gençlik Merkezi Sponsorlugunda düzenlenecek etkinliğimize tüm Bilişim uzmanları ve Öğrenci arkadaşlarımız davetlidir.

Katılımcılar arasından seçilecek 2 Öğrenci arkadaşımıza staj imkanı,5 kişiye  süpriz kitaplar  ve 15 kişiye İş Zekası-Veri Ambarı-Veri Tabanı eğitimleri ücretsiz verilecektir.

Programın akışıyla ilgili bilgileri

http://www.datawarehouse.gen.tr/