C İle MCU Programlamadan, Bilgisayar Programı Kodlamaya Geçiş

Katılım
28 Ocak 2013
Mesajlar
199
Puanları
1
Yaş
44
Arkadaşlar Merhaba;

C dilini Mikrodenetleyici kodlamak için kullanıyorum.
Algoritma mantıkları, kodlama olayının falan tamamen oturduğunu düşünüyorum.

Fakat Bilgisayar için ihtiyacım olan ufak tefek programlarıda yazmaya başlamak istiyorum. Yani Linux ve/veya windows tabanlı pcleri de kodlayıp istediğim algoritmayı işletmek istiyorum.

Mesela belli bi kurala göre yazılmış tablodaki 2. Sütundaki texti alsın, örneğin youtube a yazsın. İlk çıkan linkteki videoyu download etsin. Ve tablonun 3. Sütununa download ettiği adresi yazsın, dosya adını 4. Sütundaki text olarak kaydetsin. 5. Sütuna da youtube dan indirdiği videonun linkini yazsın.

Veya mesela benim herhangi bir sosyal ağdaki arkadaş listeme girsin ordan tüm arkadaşlarımın profil fotoğraflarını kaydedip, dosya adını da kişinin adı yapsın.

Veya siz daha basit bişeyle başla derseniz ne biliyim ben moustan sol klik yaptığımda 1. paralel portun 1. Pinini active yapıp 1 çıkışı versin.

Örnekler uzatılabilir önemli olan nerden nasıl devam etmeliyim? C++ falan da öğrenmem gerekicek sanırım C# veya. Eğer başka bi dil önerirseniz veya bunları C ile yapamazsın, yapsanda çok zor olur basic öğren derseniz onuda değerlendiririm tabiki.

Daha önce C de yazdığım bilgisayar programları siyah ekranda yazılan basit kodlardan ibaretti, programlamaya ilk başladığımda bi kaç tane yazmıştım...


Evet tavsiyelerinizi bekliyorum, herkese iyi forumlar...



KontrolKalemi Mobile ile gönderildi.
 
Bahsettiğin gibi uygulamalar yapacaksan (yüksek seviyeli diller) c# tercih edillebilir. Nitekim youtube da video izleyerek basit şekilde uygulama geliştirebilirsiniz.

Ama sizin durumunuzda olan birisi için benim tavsiyem;
c ile devam edip belli birşey c++ öğrenip Qt ide basit bir şekilde uygulama geliştirebilirsin.

Qt nin başlıca avantajı
platformdan bağımsız olması hem linux hem windows hemde farklı platformlarda uygulama geliştirebiliyorsun

Ayrıca c dili ile mcu için uyglama geliştiren birisi için veya embedded sistemler için en çok tercih edilen idelerden birisi.

(Not : c++ , c ye göre öğrenmesi zor bir dildir. Ama dediğim gibi basit bir kaç pencereden oluşan uygulama yapmak için c++
basit şekilde kullanarak öğrenebilirsiniz.)
Youtube da bir kanal vardı.Ben ordan takip ediyordum. Size belli bir fikir sunabilir.
https://www.youtube.com/playlist?list=PL2D1942A4688E9D63
Kolay Gelsin
 
C# yüksek seviyeli. C ve C++ değiller mi :)

Benim önerim eğer özellikle internet üzerinden çalışan uygulamalar geliştirmek istiyorsan bu durumda uygun seçim Python olabilir.

Tabi bu uygulamalar C ve C++ ile de yapılabilir.

Yeni ve güzel olanaklar sunan bir dil olarak D dili de güzel bir dil.

D Programlama Dili - Ana Sayfa

Aslında benim tanıdığım ustaların çoğu senin de bahsettiğin gibi siyah ekranda kod yazıyorlar. Pencereli program yazmak basit. Önemli olan dilin kendisini iyi derecede öğrenmek.

C için Stephan Prata'nın C Primer Plus kitabı ve C++ için Accelerated C++ kitabı güzel kitaplardır.
 
Evet c#yüksek seviyeli c/c++ yüksek seviyeli değil (Yüksek seviyeden neyi kastettiğimiz önemli :) )
 
Sanırım haklısın.

"Some decades ago, the C language, and similar languages, were most often considered "high-level", as it supported concepts such as expression evaluation, parameterised recursive functions, and data types and structures, while assembly language was considered "low-level"."


Ben de işte bu bir zamanlar sadece Assembly dilinin alçak düzey olarak kabul edildiğini hatırlıyorum.

Ama şimdiki kabule göre dediğiniz gibi C alt düzey, C++ orta seviye bir programlama dili olarak kabul ediliyormuş.

C, C++ ve D bu üç dilin sistem programlama dili olduğunu biliyorum.
 
Dil seviyesi düştükçe, zorlaşıyor hatırladığım ve anladığım kadarıyla, makina diline yaklaşıyor mesela assembly gibi. Siyah ekranda da bu yukarıda bahsettiğim algoritmaları da yaptırabilir miyim?

Verdiğiniz idelere baktım daha derin inceleyecem. Bu youtube kanalından devam etmem en doğru yol olacak anladığım kadarıyla? D dili ne kadar yaygın olur bilmiyorum. Belki de basic de öğrensem daha iyi olacak.

Tavsiyeleriniz ve paylaşımlarınız için teşekkürler. Ayrıca yukarıda bahsettiğim algoritmaları nasıl uygulayabilirim pc tabanındaki mantığı biraz anlata bilir misiniz?

İyi forumlar...


KontrolKalemi Mobile ile gönderildi.
 
Yazılımda sadece dile hakim olmak yetmiyor. Yaptığın işin alan(domain) bilgisinede sahip olman gerekiyor.
Mesela sigorta programı yazacaksan sigorta işlerini bilmen, oyun grafik ile alakalı şeyler için opengl -directx filan bilmen lazım.
Aynı şekilde bahsetmiş olduğun youtubadan veri çekme, yazma gibi işler içinde o alanla alakalı bilgi sahibi olman gerekir ki
benim yok.

Ama Qt ide seri port ile uygulama yapacaksan yardımcı olabilirim.
Forma buton sürükle bırak ile koyuyorsun. Clicked sinyaline gidiyorsun. yani butona basınca kodun gittiği kısım
Daha sonra qserialport sınıfı vardı. Ondan oluşturup write open gibi fonksiyonlarını çağırıyorsun
 
Yazılımda sadece dile hakim olmak yetmiyor. Yaptığın işin alan(domain) bilgisinede sahip olman gerekiyor.
Mesela sigorta programı yazacaksan sigorta işlerini bilmen, oyun grafik ile alakalı şeyler için opengl -directx filan bilmen lazım.
Aynı şekilde bahsetmiş olduğun youtubadan veri çekme, yazma gibi işler içinde o alanla alakalı bilgi sahibi olman gerekir ki
benim yok.

Ama Qt ide seri port ile uygulama yapacaksan yardımcı olabilirim.
Forma buton sürükle bırak ile koyuyorsun. Clicked sinyaline gidiyorsun. yani butona basınca kodun gittiği kısım
Daha sonra qserialport sınıfı vardı. Ondan oluşturup write open gibi fonksiyonlarını çağırıyorsun

Paralel port için de aynı şekilde mi bu işlem?

Ve verdiğim işleri sırasıyla yapacak bir algoritmayı uygulayarak yapılamaz mı bu youtube daki işlem mesela;

-----
Open web browser from c/program files/chrome/chrome.exe

Open excel file from selected source(buraya bi dosya seçme barı koyarak kaynak dosyayı seçmesi istenir)

Birinci satır birinci sütun oku ve bu değeri adres verisi olarak kaydet

Browser dan youtube.com a git, adres verisini yaz, ilk videonun linkini kopyala, indirme yazılımına yapıştır, indir....
--------

gibi bi döngü mümkün müdür?




KontrolKalemi Mobile ile gönderildi.
 
D adı üzerinde C++'ın bir adım ilerisi olarak tasarlanmış. Nasıl C++, C'nin bir adım sonrası olarak düşünülmüşse. Gerçi C++11'de var.

Geçen sene iki modern programlama dili C++11 ve D dilleri üzerine Ankara'da bir seminer vardı.

2012 D ve C++11 Semineri

Bu sorularının yanıtı kısaca evet. Hepsi yapılabilir. Ama özellikle örüt ağ üzerinde çalışan uygulamalar yapacaksan Python tercih edilebilir. Örneğin benim kendi sitemde Google amca'nın atasının atası .. bir örümcek çalışıyor. Bunu Python'la yazdım.

Sonra paralel port uygulamasını ben D ile yapmıştım.

https://github.com/erdemoncel/elektronikhobi

D ile elektronik | Giriş*| Temel Elektronik Öğrenme Sistemi
 
Beyler bayanlar kafam iyice karıştı, c++ dan mı devam edeyim c# mı? Bi taraftan java python diyorlar? Vb öğren diyen de var. Zaten vb yi yazılım, basici dil diye biliyodum vb dildir diyen de oldu anlamadım...

Sebepleriyle beraber kısaca son tavsiyelerinizi verirseniz ona göre kararımı vereceğim. Tavsiyeleriniz benim için önemli, şimdi bana C öneren arkadaşlara dua ediyorum assembly la falan başlıyordum yoksa, bilgi sahibi olan insanların tavsiyeleri çok önemli..

Herkese teşekkürler...




KontrolKalemi Mobile ile gönderildi.
 

Forum istatistikleri

Konular
128,185
Mesajlar
915,694
Kullanıcılar
449,956
Son üye
CharmanDear

Yeni konular

Geri
Üst