16f84a .h

Başlatan tabutcu, 11 Ocak 2013, 21:59:25

tabutcu

Selamun aleyküm.

pic programlamaya yeni başladım.C dili öğreniyorum şuana kadar öğrendiğim kodlarla ufak bir animasyon devresi hazırladım.ancak compile ettiğim zaman .h uzantılı dosyada son dizindeki :
"#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)" şu kodda bir hata veriyor yardımlarınızı bekliyorum.

tabutcu

16f877a entegre sini çok rahat bir şekilde kodla ya biliyorum ancak 16f84a ve 16f628 entegre sini bu hata yüzünden kodlayamıyorum yardımlarınızı bekliyorum.

JKramer

Kataloğu olmadığından bakamadım, 16f84a'da usart var mı?

mr_knox

16f84a da öyle bir özellik yok o sebep:)
Yapmak istediğiniz uygulama için uygulamanızdaki istenilen özellikleri sağlayacak mikrodenetleyiciyi datasheet lerini inceleyerek belirleyebilirsiniz.seçim yaparken size kolaylık sağlaması açısından http://www.microchip.com/productselector/MCUProductSelector.html inceleyin.Kolay gelsin.
kutsal kitapları okuyup anlamayan dindar okuyup anlayan ateist olur.  ( Nikola Tesla )

serhat1990

Alıntı yapılan: tabutcu - 11 Ocak 2013, 21:59:25
Selamun aleyküm.

pic programlamaya yeni başladım.C dili öğreniyorum şuana kadar öğrendiğim kodlarla ufak bir animasyon devresi hazırladım.ancak compile ettiğim zaman .h uzantılı dosyada son dizindeki :
"#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)" şu kodda bir hata veriyor yardımlarınızı bekliyorum.

Merhabalar sorunun sebebi şudur . C portu olmayan bir işlemcide C portu kullanmaya çalışmak. tx pini olarak C6 , rx pini olarak c7 kullanmak için tanımlama yapıyorsun işlemcide o pinler olmadığından hata alıyorsun . Bunları işlemcinde bulunan pinlere çek . Ona göre tris portunda giriş çıkış işleminide değiştir.

Kodu şu şekilde düzenle dene bakalım :)

#use rs232(baud=9600,parity=N,xmit=PIN_b2,rcv=PIN_b1,bits=8)



İyi çalışmalar .

mr_knox

Serhat hocam söz konusu denetleyicide http://ww1.microchip.com/downloads/en/devicedoc/35007b.pdf de görüldüğü üzere öyle bir özellik yok ki.
kutsal kitapları okuyup anlamayan dindar okuyup anlayan ateist olur.  ( Nikola Tesla )

mustafa_09

16f628a da hata verdiğinde o kodu siliyorum seri haberleşme yapmıyorsanız sorun olmaz diye düşünüyorum.

serhat1990

Alıntı yapılan: mr_knox - 12 Ocak 2013, 10:26:00
Serhat hocam söz konusu denetleyicide http://ww1.microchip.com/downloads/en/devicedoc/35007b.pdf de görüldüğü üzere öyle bir özellik yok ki.

Hocam 16f84'de doanımsal usart yok biliyorum onu belirttim zaten . Arkadaş 16f628a'dada kullanamıyorum demiş . Bunun sebebi tanımlamada kullandığı xmit=pinc6 , rcv=pinc7 ifadesi . Bahsettiği iişlemcilerde c portu yok . O yüzden kullandığı işlemcide olan pinlere çekmesi gerekiyor .

CCS C ' de bu komutu kullanarak yapabilir. Yazılımsal olarak usart sağlıyor bu fonksiyon ile . 16f84'de donanımsal usart olması önemli değil sonuçta yazılımsal olarak yapıyor . Hardware olarak isterse yapamaz .

İyi çalışmalar dilerim Hocam .

mr_knox

Alıntı yapılan: serhat1990 - 12 Ocak 2013, 10:33:43
Hocam 16f84'de doanımsal usart yok biliyorum onu belirttim zaten . Arkadaş 16f628a'dada kullanamıyorum demiş . Bunun sebebi tanımlamada kullandığı xmit=pinc6 , rcv=pinc7 ifadesi . Bahsettiği iişlemcilerde c portu yok . O yüzden kullandığı işlemcide olan pinlere çekmesi gerekiyor .

CCS C ' de bu komutu kullanarak yapabilir. Yazılımsal olarak usart sağlıyor bu fonksiyon ile . 16f84'de donanımsal usart olması önemli değil sonuçta yazılımsal olarak yapıyor . Hardware olarak isterse yapamaz .

İyi çalışmalar dilerim Hocam .
Pardon ben 16f28 muhabbetini kaçırmışım ;D
kutsal kitapları okuyup anlamayan dindar okuyup anlayan ateist olur.  ( Nikola Tesla )

serhat1990

Estağfurullah Hocam , aynı zamanda 16f84a'da hardware usart yok ama bu fonksiyon kullanılır yazılımsal usart için .

Aşağıda ccs c ' de ufak bir program yazdım . 16f84a ile usart kullanmak için . İçinde simülasyon dosyası ve program mevcut. Umarım işinize yarar.
Yeni program yazmaya başlayan arkadaşlara şunu öneriyorum kullandığınız işlemcinin datasheet'ine biraz göz gezdirin . Ve tüm tanımlamaların kopyala yapıştır ile mümkün olmayacağını aklınızdan çıkarmayın .

İyi çalışmalar dilerim.

http://s2.dosya.tc/server25/IuqMzS/16f84a.rar.html

tabutcu

Teşekkür ederim sorun halloldu

serhat1990

Görevimiz :)

İyi çalışmalar dilerim ...