Şimdi Ara

C ile seri iletişim

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
12
Cevap
0
Favori
807
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
Öne Çıkar
0 oy
Sayfa: 1
Giriş
Mesaj
  • C dilinde yazılmıs bir program çalışırken, bir yandan seri iletişim yapması gerekiyor. Mikrodenetleyiciden bilgisayara gelen verilerin bir şekilde bu çalışmakta olan program tarafından okunabilmesi, ve program çıktılarının aynı şekilde başka bir mikrodenetleyiciye gönderilmesi gerekiyor.
    C programı bunu yapabilir mi? Bu için özel fonksiyonlar var mı? Bu konuda beni bilgilendirebilirseniz çok sevinirim..



  • Sorun anlamsız ! programa diline hakim olduktan sonra herşeyi yapabilirsin tabikide programlama dilinin seviyesine göre yapabilceklerin değişir !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    _____________________________
    BAZILARI DOĞUŞTAN ŞANSLIDIR BİZ ÇALIŞMAK ZORUNDAYIZ.
  • Programlama dilinin seviyesine göre yapabileceklerim değişir tabi, ama bu konuda çok fazla bilgim yok. Bu nedenle tecrübeli olanlardan yardım istedim. Benim merak ettiğim nasıl yapacağım. Böyle bir cevap yazmanızın amacı ne anlayamadım.

    Cevaplarınızı bekliyorum, ilginize teşekkür ederim..
  • Programın çalışırken seri arabirimden veri geldiğini algılaman gerekli. Bu veri girişini kesme ucuna verirsen seri veri gelme anında öncelikle bu verinin işlemi yapılacaktır. CCS PICC dediğimiz bu işi hazır program kodları ile kolayca yapabilir. Bu programı edin ve help'ini kurcala. #use rs232'ye bak. Interrupts'a bak. Seri iletişimde pc'den aldığın kabloda bir pin veri geliyor diye sinyal gönderiyor olmalı yanlış hatırlamıyorsam. Bu pinin voltaj seviyesini 0-5 volt aralığına indirmen gerekli. Veri var 5V, veri yok 0V olmalı. (ya da tersi)

    Kolay gelsin.
    _____________________________
    TA2LSM
  • Bir forumda sorulan soruya "anlamsız demek yapılacak en anlamsız davranıştır.
    Şimdi sorunun cevabına gelelim:
    Mikroişlemciler aslında aynı anda sadece tek iş yapabilirler.Ancak çalışma hızları mikrosaniyelerle ölçüldüğünden birçok işlemi çok hızlı yaparlar ve biz sanki birçok işi aynı anda yapabilirlermiş gibi algılarız.
    Mikrodenetleyicinin programını yürütürken bir yandan da seri porttan veri alıp verebilmesi için kesmeler kullanılır.Normal program yürütülürken seri porttan bir karakter geldiğinde seri arabirim kesmesi çalışır,gelen karakterle ne işlem yapılacaksa onu yapar ve işine devam eder.Bunla ilgili C'de yaptığım bir örneği yolluyorum.İçinde proteus modeli de var.Seri porttan gelen karakterleri LCD'ye yazdırıyor.

    Linkler engelleniyor galiba nasıl eklenti yapacağız acaba?



    < Bu mesaj bu kişi tarafından değiştirildi coskunnn -- 18 Şubat 2006 21:39:20 >
    _____________________________




  • Link göndermede sorun olursa özel mesaj atabilirsin.

    Cok tesekkür ederim... :)
    _____________________________
  • Kardeş kusura bakma anlamsız biraz ağır oldu ,çoşkunn dediği gibi işlemci sadece bi işi yapar !
    _____________________________
    BAZILARI DOĞUŞTAN ŞANSLIDIR BİZ ÇALIŞMAK ZORUNDAYIZ.
  • coskunn kardes ya linki bi türlü göremedim ben. özel mesaj attım, bakabilirsen sevinirim.
    saolasın
  • bende vardı c dili yazılmıs ve bilgisayar da seri haberlesme yapan program ayrıca baska bi c programı ile pc den baska bire veri aktarabiliyoduk ama nerde Allah bilir bulursam yazarım buraya tabi ne kadar anlamlı olur bilmem
    _____________________________
  • çok işime yarar bulursan cok sevinirim
    _____________________________
  • BU BİZİM Bİ DENEY İÇİN YAZDIGIMIZ PROGRAM OLDUGUNDAN SUNLARI BELİRTMEK İSTİYORUM.
    BU DENEY KİŞİSEL BİR PC İLE DİGIAC D2000 MİKROBİLGİSAYAR SETİ ARASINDA GERCEKLEŞTİRİLMİŞTİR.

    AYRICA C PROGRAMI İLE İLGİLİ AYRINTILI BİLGİYİ TURBO C++ 3.0 BORLAND INT. INC.DERLEYİCİSİNDE BULABİLİRSİNİZ
    1-SERİ PORTTAN BİLGİ OKUMAK İÇİN YAZILAN C PROGRAMI
    #include<bios.h>
    #include<conio.h>
    #include<dos.h>
    #include<stdio.h>

    #define COM 1
    #define DATA_READY 0x100
    #define TRUE 1
    #define FALSE 0
    #define SETTINGS(_COM_9600 | _COM_CHR8 |_COM_STOP2 | _COM_NOPARITY)

    int main(void){

    unsigned int out,status;
    _bios_serialcom(_COM_INIT,COM,SETTINGS);
    printf(“ seri porttan okunan bilgiler”);
    clrscr();
    do{
    status=_bios_serialcom(_COM_STATUS,COM,0);
    if(status&DATA_READY)
    if(( out=_bios_serialcom(_COM_RECEIVE,COM,0)&0x7F) !=0)
    putch(out);
    _bios_serialcom(_COM_SEND,COM,0x01);
    }
    while(!kbhit());
    }

    2-SERİ PORTTAN BİLGİ GÖNDERMEK İÇİN YAZILAN C PROGRAMI

    #include<bios.h>
    #include<conio.h>
    #include<dos.h>
    #include<stdio.h>

    #define COM 1
    #define DATA_READY 0x100
    #define TRUE 1
    #define FALSE 0
    #define SETTINGS(_COM_9600 | _COM_CHR8 |_COM_STOP2 | _COM_NOPARITY)

    int main(void){

    unsigned out=0;
    clrscr();
    _bios_serialcom(_COM_INIT;COM;SETTINGS);
    printf(“0-255 arasındaki sayılar gönderilmektedir”);
    do
    {
    out++;
    _bios_serialcom(_COM_SEND,COM,OUT);
    putch(out);
    delay(500);
    }
    while(!kbhit());
    }

    burada bilmeniz gereken bazı terimler mevcut heralde biliyorsunuzdur.
    Veri uzunlugu,eşitlik durumu,baud rate oranı gibi…

    ayrıca baslıgı kodlar eklendi diye degiştirirsen en azından işine yarayacak adamlar olabilir kolay gelsin
    _____________________________




  • Merhaba arkadaşım.Ben ATL elektronik son sınıf öğrencisiyim ve microdenetleyiciler konusunda yavaş yavaş ilerlemeye başaldım.İlk önce seni tebrik etmek istiyorum.Çünkü bu bahsettiğin konu bana göre mikrodenetliyicilerde bilinmesi gereken en önemli konulardan birisi.Bu dediğini okul öğrentmenlerimizden birisi bi projede yapmıştı.Piyasada çok iyi C kullanan arkadaşlar var ama maalesef hiçbirisinin bilgisi elektronik üzerine olmadığından MC den gelen veriyi işleyemiyorlar.Bahsettiğim hocamız bu işi kendi yapmıştı.MC den bilg.a veriyi ASCII olarak gönderdi.Haberleşme kablosunu uzunluğu fazla olacağından RS232 yerine RS432 kullanmıştı.Ve bilg.da veriyi almak içinde çok küçük bi program yazmıştı.
    _____________________________
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.