pic18F4550 ile usb haberleşmesi ve I2Cin komutu

Başlatan ademgolcuk, 07 Ocak 2015, 06:53:15

ademgolcuk

merhaba.
ben 18F4550 ile gömülü sistemi usb port üzerinden haberleştirebiliyorum. bu haberleşme için Xtal=48 olması gerekiyor. ayrıca pic ile airflow sensöründen veri okumam gerekiyor. bunun için de I2Cin komutunu kullanıyorum. Xtal=48 iken sensörden veri transferi hatalı gerçekleşiyor. Xtal=4 iken veri doğru şekilde okunuyor. bu iki işlemi tek bir 18F4550 ile gerçekleştirebilir miyiz? muhtemelen configürasyon ayarlarıyla yapılabilir ama ben şimdilik bulamadım.
teşekkür ederim.

ete

I2C cihazlar ya 100Khz (eski nesil) yada 400Khz (yeni nesil) standart haberleşme frekansını kullanır.
48Mhz lik kristal ile çalışınca bu sınırın dışına çıktığınız aşikar. O halde size I2C haberleşmesini yavaşlatacak bir komut gerekiyor.
PBP da ;
DEFINE I2C_SLOW 1 'Use for >8MHz OSC with standard speed devices
şeklinde bir komut var ve 8 Mhz üzerindeki hızlrda bu komut programa ilave edilmektedir. Proton da benzer bir Declare komutu olması gerekir. Araştırın bulursunuz.

Ete

ademgolcuk

merhaba hocam. cevabınız için çok teşekkür ederim.
Tahmin ettiğiniz gibi Proton Basic ile programlıyorum.
Declare I2C_Slow_Bus On : komutunu ekledikten sonra problem çözüldü.
kolay gelsin.

Powered by EzPortal