Çift Uartlı pic, atmel v.s.

Başlatan Erhan YILMAZ, 15 Aralık 2013, 22:14:13

Erhan YILMAZ

Piyasadan kolay bileceğim mümkünse bacak sayısı az çift uartlı hatta mümkünse dip kılıflı işlemci var mı önerebileceğiniz?

Kabil ATICI

Az bacaklı elemanlarda bulabileceğinden kuşkuluyum. (kapasite ile ihtiyaç artışı nedeni ile)

Atmega64
Atmega128
ambar7

Erhan YILMAZ

Var hocam 14 pinli bile var attiny ama burda yok. PIC18F25K22 Buldum 28 pinli direnc.netin stoğunda kalmamış.


skara1214

valla hocam ccs c kullanıyorsanız software uart temiz çalışıyor(1.5 sene oldu) .(886 için)rb0 pinini software uartın rx i yaparsan birde interrupt ayarlarsan (38kbaudda) rx interruptı gibide oluyor.
Herkes ölür ama herkes gerçekten yaşamaz

Erhan YILMAZ

@kantirci Hocam şimdi bende onu gördüm ama oda smd düşündürüyor.

@skara1214
Hocam full duplex denediniz mi? Metin falan gönderiyor musunuz? Ne kadar sık kullanıyorsunuz?

skara1214

full duplex denemedim (ama çalışmaz yüksek ihtimal) half dublex kullandım.dmx datasını alıp başka pice yolluyordum  yani sürekli data basılıyor.(metin olarak yolluyordum)
Herkes ölür ama herkes gerçekten yaşamaz

Erhan YILMAZ

Alıntı yapılan: skara1214 - 15 Aralık 2013, 22:53:13
full duplex denemedim (ama çalışmaz yüksek ihtimal) half dublex kullandım.dmx datasını alıp başka pice yolluyordum  yani sürekli data basılıyor.(metin olarak yolluyordum)

Peki çakışma falan olmuyor muydu hocam? Veri gönderirken veri gelirse falan?

skara1214

#8
2. pic direk slave di  çakışmamasını garanti ediyordum sadece datayı yollayıp cevap bekliyordum.
seri üretim için değilde denemelik buradan uçuk mebla ile alabilirsin http://www.elektriksel.com/18f26k22-i-sp.html?sort=p.model&order=ASC
Herkes ölür ama herkes gerçekten yaşamaz

Ramiz

bacak sayısı en az olan uart ve ex. kesmesi destekli mcularra bak.

1. uart için uart modülünü
2. uart içinde External interrup pininin rx, herhanhi bir pinide tx olarak kullanacaksın.

iki türlüde interruptla iş yapacaksın. Tek sorun Ext. kesmesinde data alım süresi boyunca mcu boşa zaman kaybedecek. İki uartlı mcu aramak yerine bu oluyormu bir bak. Oluyorsa alternatifin çok olur.
Electrical & Electronics Engineering -> Step one

MrDarK

Erhan merhaba ;

skara'nın söylediği yöntem ile 4 adet uart kullandım. Hiçbir sıkıntı yaşamadım ortalama 10 adet proje yapmışımdır bu şekilde çalışan. Herhangi bi çakışma söz konusu olmadı. farklı baudrateler kullanırsan ve birisi hardware olursa bence zilyonda bir ihtimal :)

Zaten şimdiye kadar hiç anlamadığım şey neden kimse bu yöntemi kullanmıyor, tamam hardware olanlarda fifo bulunuyor ve ön bellekleri var güzel birşey tabi ama bu yöntemde işi gayet kolay çözmekte.
Picproje Eğitim Gönüllüleri ~ MrDarK

Erhan YILMAZ

Hmm öyle olursa 16f88 ile hallederim gibime geliyor. Bi araştırayım sağolun. Devre arada köprü gibi olcak bi uarttan aldığını diğerine gönderecek diğerinden aldığını öbürüne gönderecek falan. Birde 4 tane röleyi açıp kapayacak. Çok bir işlem gücü yok yani. Soft uart rx pinin picin rb0na bağlayınca ccs otomatik kesmeleri kullanıyor mu? Örnek kod var mı?

XX_CİHAN_XX

#12
Soft UART yöntemi pratik ve kullanışlı bir yöntemdir. CCS C nin de bu konuda güzelliği var :)
Bazı sakıncalı durumlar dışında oldukça da kararlı çalışır.
Sakıncalı durumlardan en önemlileri:
1- Full Dublex çalışma durumu,
2- Başka kesme kaynaklarından çok sık kesme alma ve kesme vektöründe fazla kalma durumları.
3- Eeproma yazma vb. işlerden dolayı ana programda kesmeyi geçici olarak devre dışı bırakman gereken durumlar.

Bu gibi durumlar olamayacaksa bir hard uart birde b0 kesmeli soft uart birlikte gayet sağlıklı çalışacaktır.

mesaj birleştirme:: 15 Aralık 2013, 23:19:52

Alıntı yapılan: Erhan YILMAZ - 15 Aralık 2013, 23:15:58
Soft uart rx pinin picin rb0na bağlayınca ccs otomatik kesmeleri kullanıyor mu?

CCS otomatik kesme kullanmaz ancak getc ve putc gibi hazır seri data alma ve gönderme fonksiyonları mevcut
Kesmeyi aktif edip kesme vekteründe getc fonksiyonu kullanarak veri alabilirsiniz.
CCS C nin help kısmından #use rs232 direktifini incelediğinizde bu fonksyionların kullanımı hakkında parçalar mevcut.
Hazır kodu olan arkadaşımız varsa o da paylaşır...
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

engerex

Atmega 162 164x 324x 644x 128x(x= a, p, pa ...)
40dip kılıflarıda mevcut.

Erhan YILMAZ

Full duplex olmasında veri kaybı da olmasın istiyorum. Bi yerden okuduğumu bi yere basıcam. Deneyen varmı böyle?