Bluetooth uart haberleşme sorunu

Başlatan berkay_design, 28 Aralık 2015, 22:19:44

berkay_design

Merhaba arkadaşlar. Şu sıralar bluetooth haberleşme üzerine yoğunlaştım. 16F628A kullanıyorum. Basit bir devre yaptım ve program yazdım. Fakat gelen veriyi yorumlayamıyor. Programda sıkıntı yok gibi. Bir de siz incelerseniz sevinirim. Android cihazdan veri gönderiyorum. Veri 'A' veya 1 gibi değerler. İkisini de denedim çalıştıramadım. Tanımlama kısmında mı sıkıntı var acaba? Veri alındığını görebilmek için A0 pinine led bağladım. A1 pinine ise gelen verinin istenilen veri olduğunu anlamak için led bağladım. A0 ledi her veri gönderdiğimde yanıp sönüyor ama A1 ledini yakamadım. Sıkıntımı anlamışsınızdır umarım.
char x;
void main() {
trisa=0x00;
porta=0;
UART1_Init(9600);
Delay_ms(100);

        while(1)
        {
         if (UART1_Data_Ready())
         {
         x = UART1_Read();
         porta.f1=1;
         Delay_ms(50);
         porta.f1=0;
         }
         if (x=='A')
         {
         porta.f0=1;
         }
         if (x=='1')
         {
         porta.f0=0;
         }}}

senfatih58

kardeşim bu kodu pic c compiler programına attım birçok hata verdi.Hata sebepleri genellikle yazım şekli farklı olduğu için gibi gözüküyor yani porta=0 değilde output_a(0x00) şeklinde yazınca kabul ediyor.Bu kodu yazarken hangi programı ve dili kullandığını yazabilir misin?Bende ona göre uyarlama yapabilirim şimdiden teşekkürler.

muhittin_kaplan


Hadi


mg1980

#4
A ve 1 verisini nasıl gönderdiğinizi de görebilir miyiz? Ayrıca x=='1' doğru mu ?
Şu sıralar ben de benzer çalışmalar içindeyim.Bluetooth'u devre dışı bırakıp iki pici RX_TX bağlantısı yaparak test edin. Veri doğru gidip alınıyorsa bluetooth tarafına bakarsınız. A1 ledi her veri geldiğinde yanar.Doğru veride A0 galiba.

Ya arkadaşlar bu konu 2015 yılına aitmiş.Arkadaş belki şu anda bluetooth bile imal etmiş olabilir. Yazdıklarımızın her halde bir anlamı kalmadı.
@senfatih58 'in kurbanı olduk.

emin.kiran

Gonderdiginiz veri ascii formunda mi hex olarak rakam gindermeyi deneyin kidda sorun yok gibi fakat interrupt rutini icerisinde  veriyi buffer a alip islemcinin bosta kaldigi zamanda yorumlama yapmaniz onemli. 50 ms ye gecikme vermissiniz burada kullanilmasi cok uygun degil. Gonderim metodunu paylasirsaniz daha iyi yorum yapabilirim