Hitech de Seri İletişim Hakkında

Başlatan ORC, 28 Şubat 2009, 19:48:40

ORC

Merhaba Arkadaslar

Sitedeki arslan74 hocamızın tüm derslerini indirdim okudum..Hitech de seri iletişim hakkında dersi var mı acaba benim siteden indirdiklerimin hiç birinde rastlayamadım da..

Benim seri iletişim hakkında bazı sorularım var??Çok fazla arastırdım kafam corba oldu resmen :(

Hitech de samples klasorunde sci.h ve sci.c dosyalarını kullanarak usart ı kullanan bi kod yazdım calıstı ama sunu belirteyim acıkcası cok da bilincli calıstırmadım..(birde samples içinde usart.c ve h si var bu ikisi arasında bir fark var mı)benim yazıp calıstırdıgım calısan kod asagıda

klavyeden bastıgım tusu 500 ms gecikmeli olarak gonderiyor

Alıntı Yap
#include<pic.h>
#include"delay.h"
#include<stdio.h>
#include"sci.h"


#ifndef XTAL_FREQ
#define XTAL_FREQ 4MHZ /* Crystal frequency in MHz */
#endif

main(void)
{
unsigned char data='E';
TRISB=0;
PORTB=0;
for(;;)
{
sci_Init(9600,SCI_EIGHT);
sci_PutByte(data);
//sci_PutByte(0x4e); /* send 0xaa when device is ready */
data = sci_GetByte(); /* read data when device is ready
*/
DelayMs(250);
DelayMs(250);

}
}

yukardaki kodda ben nerdeyse hiç bi donanım ayarı yapmadım hatta pic16f877 nin rx ve tx bacaklarını yani c portlarını kullandım ama onları cıkıs olarak bile tanımlamama ragmen gene de calıstı

en basta printf kullanmıstım ama onda printf("led") dediğimde benim belirttiğim cıkıslardan veri iletmiyor bu fonksiyon nereerde kullanıyor acaba..yani bu fonksiyon özel bi port ile mi calısıyor..

birde software uart ile hardware uart da  kullanılan fonksiyonlarını acıkca belirteblirmisiniz acaba ...

ilginizden dolayı teşekkür eederim...

saygılar

teşekkürler..

arslan74

Merhaba,

Yazdıklarından anladığım kadarıyla senin sorunun büyük. En başka c bilgin yetersiz gözüküyor.

Hi-Tech kullanacak arkadaşların iyi bir C bilgisine sahib olmaları gerekiyor. Aksi takdirde kullanmaları cok zor olur. hi-tech'i, CCS nin veya MicroC'nin C ile karıştırmayın. Ondan bircok şey için hazır kodlar yapılmış size sadece onu kullanmak kalıyor. oysa Hi-Tech size sadece standart C nin fonksiyonlarını sunmuş, gerisini size bırakmış. Diğer olayları nasıl yaparsınız diye de size basid örnek kodlar vermiş. İlla bunları kullanmanız gerekmiyor, kendi fonksiyonlarınız kendinizde oluşturabilirsiniz.

Bu yüzden size tavsiyem, söyle olur. Ya önce C bilgisinizi geliştirin, bunun bu sitede C anlatadan kitaplarını ben ve başka arkadaşrımız upload etmiştik. Önce onları okuyun.

Eğer bu size uzun bir yol olarak geliyorsa size tavsiyem, başka derleyicilere gecin. En basidinden Basic de olabilir.

Selamlar.

ORC

Alıntı yapılan: "arslan74"Merhaba,

Yazdıklarından anladığım kadarıyla senin sorunun büyük. En başka c bilgin yetersiz gözüküyor.

Hi-Tech kullanacak arkadaşların iyi bir C bilgisine sahib olmaları gerekiyor. Aksi takdirde kullanmaları cok zor olur. hi-tech'i, CCS nin veya MicroC'nin C ile karıştırmayın. Ondan bircok şey için hazır kodlar yapılmış size sadece onu kullanmak kalıyor. oysa Hi-Tech size sadece standart C nin fonksiyonlarını sunmuş, gerisini size bırakmış. Diğer olayları nasıl yaparsınız diye de size basid örnek kodlar vermiş. İlla bunları kullanmanız gerekmiyor, kendi fonksiyonlarınız kendinizde oluşturabilirsiniz.

Bu yüzden size tavsiyem, söyle olur. Ya önce C bilgisinizi geliştirin, bunun bu sitede C anlatadan kitaplarını ben ve başka arkadaşrımız upload etmiştik. Önce onları okuyun.

Eğer bu size uzun bir yol olarak geliyorsa size tavsiyem, başka derleyicilere gecin. En basidinden Basic de olabilir.

Selamlar.

Hocam ilginize teşekkürler öncelikle sunu belirteyim daha once basic kullandım ccs ile de kucuk işlerim oldu hitech i diger c derleyicileri ile karıstırmıyorum baslamadan once bu konuda yeterince arastırma yaptım zaten..

C bilgime gelince bu konuda kendimi yetersiz gormuyorum daha once seri iletişim ile ilgili ornek yapmamıs olmam bu dili bilmediğimi gostermez aksi de dogru tabiki ama bence eleştiriniz çok agır..

ben oyle yada boyle seri iletişim için gerekli kodları zaten bi şekilde yazarım ama özellikle buraya yazmamın sebebi tecrübesi olan arkadasların yorumlarını okumaktı..Sonucta tecrube okuyarak olmuyor...

buraya sorularımın cevabı olacak bikac cumle yazmanızı beklerdim yazmadınız sorun değil fikrinize saygı duyuyorum..

arslan74

Merhaba,

Amacı sizi ne kırmak nede sinrlendirmek. Eksik yada yanlış gördüğüm yerleri belirtmekti sadece. Bunları düzeltiğimizde daha iyi ve güzel kodlar yazabiliriz ve daha profesiyonel düşünmemizi sağlar.

Benim size söylediklerimi bu acıdan bakın, yoksa sizi kırmak veya sinirlendirmek için yazdığımı düşünmeyin. Aksi takdirde mesajım yanlış yorumlanmış olur.

En başta sizin sorduğunuz sorular birkaç kez soruldu ve cevaplandı. Önce diğer arkadaşlarının yaptıklarını bir incele, eğer orada seni tatmin etmeyen yada anlamadığın bir cevap var ise onları bilgimiz ölcüsünde acıklayalım. Ben bu işin profesörü değilim. sadece cabalarımız ölcüsünde biryere kadar gelebildim. Benden cok daha ilerde olan kişiler var tabiki. Konuyu dağıtmayayım.

Sitenin arama kısmını kullaniyormusunuz?
Ben mesela arama yaptığımda seri iletişimle ilgli benim cevapladığım 43 adet mesaj buldu.
https://www.picproje.org/main/modules.php?name=Forums&file=search&mode=results

Siz bunları okudunuz mu?

-  sci.h ve sci.c dosyalarından bahs etmişsiniz. Sonucda bu dosya Hi-Tech'in standart bir kütüphanesi değil. Sadece samples klasöründe size örnek olsun diye yazılmış bir kod. Acıkcası ben, siz belirtene kadar bu dosyayı hiç bilmiyordum. Benim kullandığım eski versiyonda bu örnek yok. Bu koda hiç ihtiyac duymadan seri porta çalışan bir sürü ürün yaptım. Acıkcası ne istediğiniz ya ben tam anlayamadım, ya siz iyi anlatamadınız.

Sanki programcılık bilginiz hiç yok yada cok az, biryerlerden hazır kodlar alarak birşeyler yapmaya çalışan birimiş gibi algıladığım için öyle yazdım. Ama yanlış anladıysam özür dilerim.

Selamlar