STM32F4'ü C# ile programlama

Başlatan x86coder, 18 Mart 2014, 18:28:26

x86coder

Merhaba, stm32f4 kartım var ve c# bilgim, bir sitede ingilizce olarak c# ile programlanabileceği yazıyordu fakat ingilizcem yetersiz olduğu için tam anlayamadım. yardımcı olabilecek varmı ?

Gökhan BEKEN

#1
C++ ile programlanabiliyor ama c# ile olmaz. Daha doğrusu, stm32f4 için c++ derleyicisi yazmışlar ancak c# derleyicisi yazmamışlar, stm ile alakası yok c# ile o donanımı destekleyen bir derleyici de pekala yapılabilir.

not: yanlış bilgilendirme için kusurabakmayın
Özel mesaj okumuyorum, lütfen göndermeyin.

atomx

#2
Visualgdb var visual studio eklentisi fakat 30 gun deneme suresi var ucrete gelince
http://visualgdb.com/buy/

Edit: yanlis hatirladim galiba c# degilmis ama kodlama tarzi biraz animsatti c# i

mesaj birleştirme:: 18 Mart 2014, 21:06:42

Microsoftun gomulu sistemler icin gelistirdigi platform var linkte aciklanmis ingilizce olmasa dahi resimler yol gosterir
http://microcontrollerprojects00.blogspot.com.tr/2013/02/stm32f4-discovery-tutorial-1-using.html
Hüseyin TECER

Erhan YILMAZ

Yazılıyor bizzat denedim visual studioda ama fazla uğraşmadım. Güzel bir imkan bence. Ücretli olmaması lazım aşağıda linkte mevzuyu anlatıyor.

http://www.st.com/web/en/catalog/tools/PF260087

http://www.st.com/web/en/catalog/tools/PF254162

evreno


x86coder

Arkdaşlar benim üstte de belirttiğim gibi ingilizce bilgim yok. forumda yada başka bir yerde türkçe kaynak varmıdır acaba

hll

http://singularengineer.com/stm32f4-discovery-board-running-net-microframework/

bu sitede stm kartınızı nasıl c# ile programlayıcağınızı adım adım  anlatıyor çok fazla ingilizceye gerek yok
bende deneyip basit led yakmıştım oluyor ama c++ daki gibi tat yok timer lara falan nasıl erişiliyor falan
pek bilmiyorum habide programlamak için kartın altındaki usb kablosunuda takmanız gerekiyor
buda basit led  yakma c# ta

using System;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;

namespace STM32F_Test
{
    public class Program
    {
        public static void Main()
        {
            OutputPort led = new OutputPort(Cpu.Pin.GPIO_Pin1, false); //PA1 on discovery board

            while (true)
            {
                led.Write(true);
                Thread.Sleep(500);
                led.Write(false);
                Thread.Sleep(500);
            }
        }

    }
}

Faraday

Alıntı yapılan: hll - 19 Mart 2014, 18:10:09
http://singularengineer.com/stm32f4-discovery-board-running-net-microframework/

bu sitede stm kartınızı nasıl c# ile programlayıcağınızı adım adım  anlatıyor çok fazla ingilizceye gerek yok
bende deneyip basit led yakmıştım oluyor ama c++ daki gibi tat yok timer lara falan nasıl erişiliyor falan
pek bilmiyorum habide programlamak için kartın altındaki usb kablosunuda takmanız gerekiyor
buda basit led  yakma c# ta

using System;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;

namespace STM32F_Test
{
    public class Program
    {
        public static void Main()
        {
            OutputPort led = new OutputPort(Cpu.Pin.GPIO_Pin1, false); //PA1 on discovery board

            while (true)
            {
                led.Write(true);
                Thread.Sleep(500);
                led.Write(false);
                Thread.Sleep(500);
            }
        }

    }
}
Bu kadar kolay bir şekilde hemde Visual Studio ile C# kullanarak bu işler yapılabiliyor ise, bence hemen pes etmeyin, C# ile yapılmış bir kaç proje gördüm ve öyle ben C++ biliyorum diyerek öne çıkanların kolayca yapayacağı türden idi.

Ben bu hafta sonu itibarı ile başlıyorum ve bütün C# yolculuğumu Türkçe olarak forumda paylaşacağım, sizinkileride beklerim.  8)

Faraday

Haftasonu C# ile programlamayı biraz daha detaylı inceleme fırsatı buldum ve hayal kırıklığına uğradım. :'(

C# ile yada diğer adı .net micro framework ile mikrodenetleyici programlamıyorsunuz aslında işlemci üzerindeki işletim sistemi üzerinde çalışacak kod yazmış oluyorsunuz. Dolayısı ile mikrodenetleyici hiç bir zaman gerçek zamanlı (real-time) işlemler yapamayacak.

Hiç bir işe yaramaz bir dil değil, çok efektif bir dil ancak mikrodenetleyiciye yaptıracağınız işler kritik olmamalı, daha ziyade HMI gibi görsel işlerde kullanılmalı. Örnek olarak; işlemci 100 mili saniye geciksede ortaya sorun çıkmayacak projelerde kullanılabilir.

Sanıyorum gerçek zamanlı işlemler için QT tek programlama arayüzü, tabii Coocox, Keil, IAR haricinde. Güvendiğim microsoft a gene karlar yağdı... :P

barisertekin

Ben C# ile mikrodenetleyici programlamayı çok saçma buluyorum. C bilmeyen programlamasın düşüncesindeyim.
Dünya da bir tek C#varmış gibi bir algı var. Neden bu kadar çok dil geliştirilmiş. Hepsinin kullanım amacı, alanı farklı.

Mikrodenetleyici gibi makine diline bu kadar yakın seviyeli bir iş yapmaya çalışırken bu kadar üst seviyeli bir dil kullanmaya çalışmak mantıklı değil.

Faraday

Alıntı yapılan: barisertekin - 24 Mart 2014, 10:17:38
Ben C# ile mikrodenetleyici programlamayı çok saçma buluyorum. C bilmeyen programlamasın düşüncesindeyim.
Dünya da bir tek C#varmış gibi bir algı var. Neden bu kadar çok dil geliştirilmiş. Hepsinin kullanım amacı, alanı farklı.

Mikrodenetleyici gibi makine diline bu kadar yakın seviyeli bir iş yapmaya çalışırken bu kadar üst seviyeli bir dil kullanmaya çalışmak mantıklı değil.
N demek istediğinizi biraz daha açıklayabilirseniz C# ile uğraşanlar için faydalı olabilir.

Benim yukarıda anlatmaya çalıştığım Microsoft 'un .net mf ile (C#) aslında mikrodenetleyici programlama yapmadığını aktarabilmekti.

Aslında Microsoft 'un yapmaya çalıştığı şey veya rakip olmaya çalıştığı firma QT diye düşünüyorum. Çünkü amaç gerçek zamanlı işletim sistemi üzerinde çalışacak kod geliştirebilmekti diye düşünüyorum.

barisertekin

#11
Faraday, senin söylediklerine alıntı yapmadım. Soruyu soran arkadaşa cevap yazdım.

Elimde şu kart var. Biraz da C# bilgim var olur mu diye bir soru olunca olmasın daha iyi demek istiyorum. Bu benim görüşüm.

Microsoft RTOS için gerekli kütüphaneleri geliştirsin ve C# ile kullanılsın farketmez.
Ben arkadaşın askeri haberleşme sistemlerinde geliştirme yapmayacağını bildiğim için led yakıp söndürmeyi C# ile yapmayın :)

Yeni başlayan birinin C# ile başlamasına karşıyım. Sen zaten biliyorsundur. C#'ta yap sana zarar vermez. Derlenince aşağı yukarı aynı kod ortaya çıkacak.

mufitsozen

Alıntı yapılan: Faraday - 24 Mart 2014, 11:34:49
Aslında Microsoft 'un yapmaya çalıştığı şey veya rakip olmaya çalıştığı firma QT diye düşünüyorum. Çünkü amaç gerçek zamanlı işletim sistemi üzerinde çalışacak kod geliştirebilmekti diye düşünüyorum.

sayin @Faraday yanlis dusunuyorsunuz. Microsoft gecen yilki satislari toplami 80 milyar dolar olan bir sirket. QT(digia)nin pazar payi onun kazanclarinin icinde %0.01 bile degil.

Kaldiki QT 2011 yilina kadar Nokianindi. Nokia QTyi satip, symbian isletim sisteminden vazgecip telefon sistemlerinde windows isletim sistemini kullanmaya karar verdi. teknik/ticari bir degeri olsa ..... (burayi siz kendinizce doldurunuz)(bu arada Digia'nin market cap 88Milyon euro-gecen seneki zarari 4milyon euro!, Microsoft sirketi satin alsa karinda % olarak hic bir degisiklik olmaz! (bu arada Microsofun net kari 28Milyar dolar!)

Allahaskina siz nereden cikarttiniz Microsoftun QTnin rakibi oldugunu?
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

Faraday

Alıntı yapılan: mufitsozen - 24 Mart 2014, 12:47:27
sayin @Faraday yanlis dusunuyorsunuz. Microsoft gecen yilki satislari toplami 80 milyar dolar olan bir sirket. QT(digia)nin pazar payi onun kazanclarinin icinde %0.01 bile değil.

Kaldiki QT 2011 yilina kadar Nokianindi. Nokia QTyi satip, symbian isletim sisteminden vazgecip telefon sistemlerinde windows isletim sistemini kullanmaya karar verdi. teknik/ticari bir degeri olsa ..... (burayi siz kendinizce doldurunuz)(bu arada Digia'nin market cap 88Milyon euro-gecen seneki zarari 4milyon euro!, Microsoft sirketi satin alsa karinda % olarak hic bir degisiklik olmaz! (bu arada Microsofun net kari 28Milyar dolar!)

Allahaskina siz nereden cikarttiniz Microsoftun QTnin rakibi oldugunu?

Ben sizin yerinizde olsam konuyu Microsoft 'un muhasebe kayıtları yerine, .net mikroframework ün neleri yapabildiği konusunda tutmaya çalışırdım.

Demek ki sizde .net microframework ün Qt karşısında hiç bir şansı olmadığını iyi biliyorsunuz ki konuyu teknik elektronik ve yazılım tarafından muhasebe zeminine kaydırıyorsunuz.

Neyse, kısaca profesyonel iş yapmak için uzunca bir süre daha C veya C++ kullanmaya devam.