#define spbrg 0x67 --> buradaki değer için ise ; datasheet'a baktım. Dahili 4mHz osilatör kullanıyorum. Datasheet'de 4mhz iiçin spbrg değeri 130 olarak söylenmiş. Ben de hexadecimal'a çevirdim.
MikroC bilmiyorum ama Register değerleri 4 MHZ - 9600 Baudrate için kesinlikle yukarıdaki gibi olmalı .. SPBRG değerini decimal olarak vedim hex olarak yazılmamasına dikkat edilmeli .. Ayrıca TX pininin bulunduğu port pini (PORTB.2) için TRISB.2 değeri 1 yapılmalı ..
Bu syntax doğru demedim ve hatta MikroC bilmiyorumda demiştim . Senin yapman gereken doğru yazım syntax'ını kullarak bu kayıtçıların değerlerini dile düzgün şekilde anlatmak ... Yani yapman gerekenler ;
RCSTA kayıtçısına ikili olarak = 10010000 yada hexadecimal olarak = $90 değerini girmek veya onluk olarak = 144 girmek TXSTA kayıtçısına ikili olarak = 100100 yada hexadecimal olarak= $24 değerini girmek veya onluk olarak = 36 girmek SPBRG değerine onluk olarak 25 değerini girmek .. ikili olarak 11001 değerinide girebilirsin ..
Son olarakta PORTB.2'yigiriş olarak ayarlayacaksın .. Her ne kadar bu pin veri çıkışı sağlamak amacında olsada datasheet'te belirtildiği üzere giriş olarak ayarlanma zorunluluğu var ... Eğer gerekirse Hem PORTB.2 hemde PORTB.1'i giriş olarak ayarlayıp denemenide öneririm ..
Bu durumda derleyicin onluk tabanda bir sembol gerektirmiyosa syntax olarak ;
Dediğiniz gibi değerleri ayarladım. Ancak işe yaramadı. Binary, hexadecimal, decimal olarak da denedim. portb.b1 ve portb.b2 'yi giriş olarak ayarladım ancak gene olmadı.
Asıl yapmak istediğim, pic16f628a ile veri göndermek, bu veriyi arduino uno'ya bağlı olan alıcı ile almak ve ledi yakmaktı. Sorun pic ile arduino yu birlikte kullanmaktan mı diye düşünüyorum ancak mantıklı gelmiyor. Sonuçta verici veri göndermekle, alıcı almakla sorumlu.
RF modülleri devreden çıkartıp PIC'in TX'i ile Arduino'nun RX'ini birbirine direkt olarak bağlayıp her iki tarafında işlevini yerine getirip getirmediğinden emin olmakla başlayabilirsin .. Eğer çalışırsa sonra RF modülleri devreye alırsın ..