Serout2 haberleşme sorunu yardım lütfen

Başlatan yerkirazi, 18 Mart 2018, 11:51:28

yerkirazi

Saygıdeğer arkadaşlar yardımlarınız için şimdiden teşekkürler.
Pic16f628A ile gsm modem arasında yazılımsal bir sorun çıkıyor.
ATD den sonra 0123456789 bu örnek numarayı Pic16f628A dan yazılım olarak
gönderdiğimde
araya , virgül koyup gönderiyor.
, virgülü silip yazılımı derleme yapamıyorum.

PORTA=0:PORTB=0
TRISB=%00110100   'PortB.4-5 ve PortB.2 giriş diğerleri çıkış yapıldı.
TRISA=%00011111   'A portu tamamı giriş yapıldı.
'-----------------------------------------------------------------
@ DEVICE pic16F628A                     'işlemci 16F628A                               
@ DEVICE pic16F628A, WDT_OFF            'Watch Dog timer açık
@ DEVICE pic16F628A, PWRT_ON            'Power on timer açık
@ DEVICE pic16F628A, PROTECT_ON   'Kod Protek kapalı     
@ DEVICE pic16F628A, MCLR_OFF           'MCLR pini kullanılıyor.
@ DEVICE pic16F628A, XT_OSC             'Dahili osilatör kullanılacak
'-----------------------------------------------------------------
CMCON=7    '16F628A de komparatör pinleri iptal hepsi giriş çıkış
'-----------------------------------------------------------------
DEFINE OSC 4      'for 4 Mhz
BAUD con 16780
BAUDIN con 16780
'-----------------------------------------------------------------
TELNO  VAR BYTE[15]

Serout2 TX_PIC,BAUD,["ATD",STR TELNO\15,";",13]


modemin okuması için böyle olması gerekiyor. ATD0123456789;

bu şekilde denedim olmadı. Serout2 TX_PIC,BAUD,["ATD,STR TELNO\15",";",13]
bu şekilde denedim olmadı. Serout2 TX_PIC,BAUD,["ATD","STR TELNO\15",",";",13]
bu şekilde denedim olmadı. Serout2 TX_PIC,BAUD,["A","T","D",STR TELNO\15,";",13]
bu şekilde denedim olmadı. Serout2 TX_PIC,BAUD,["A","T","D","STR TELNO\15",";",13]

Saygılarımla.

ete

#1
Şöyle dene bakalım,
Serout2 TX_PIC,BAUD,["ATD",STR TELNO\15,";",13]
bunda d hata verirse muhtemelen ; işaretinin ASCII değerini oraya yazman gerekecek.


Ete

yerkirazi

#2
Sayın ete erol bey hocam yardımlarınız için teşekkürler.
Serout2 TX_PIC,BAUD,["ATD",STR TELNO\15,";",13]
böyle denediğimde,
ATD,0123456789;
bu şekilde oluyor araya giren , virgül işi bozuyor.
İfade ettiğiniz gibi ; işaretinin ASCII değerini oraya yazıp deneyeceğim.
Saygılar.

ete

Bunu anlamadım işte. Orada virgül çıkmasını sağlayan bir komut yok iken neden virgül çıkıyor?
Dikkat edersen ATD harflerinden hemen sonra virgül çıkıyor ama senin komutlarında virgül çıkartacak bir bilgi yok.
Diğeri ; ,şareti ise doğru yerde çıkmış sorun onunla ilgili değil bence.
Birde şöyle dene
Serout2 TX_PIC,BAUD,[("ATD"),STR TELNO\15,";",13]

Ete

yerkirazi

Sayın ete erol bey hocam yardımlarınız için teşekkürler.
Serout2 TX_PIC,BAUD,["ATD",STR TELNO\15,";",13]
böyle denediğimde,
ATD"0123456789";
bu şekilde oluyor araya giren " parantez işi bozuyor.
bu şekilde derleme hatası veriyor hex kodlarına çeviremedim.
Serout2 TX_PIC,BAUD,[("ATD"),STR TELNO\15,";",13]
Saygılar.

yerkirazi

#5
Sayın arkadaşlar,sorunumu buldum.
AT+CPBR=1
+CPBR: 1,"0123456789",145,
bu komuttan sonra STR TELNO\15 geçici değişkenine "0123456789"
bu şekilde kaydediliyor.
[WAIT("+CPBR: 1,"),STR TELNO\15]
şimdi ise
+CPBR: 1,"0123456789",145,
+CPBR: 1," den sonraki numarayı 0123456789
STR TELNO\15 geçici değişkenine nasıl kaydetmeliyim.
Saygılar.

ete

STR TEL_NO\10 şeklinde kaydetmen gerekiyor bence. Numara 10 karekter her biri bir dizi değişkenine yerleşir ise TEL_NO[10] dizisi bunları alıp kaydeder. 15 vermekle hata mı yapıyorsun acaba.

Ete

yerkirazi

#7
Sayın ete erol bey hocam yardımlarınız için teşekkürler.
sizin dediğiniz gibi yaptım oldu. Araya SKIP 1 eklemek gerekiyormuş.
Sorunum çözüldü.
TELNO  VAR BYTE[13]
SERIN2 RX_PIC,BAUDIN,5000,BAS,[WAIT("+CPBR: 1,"),SKIP 1,STR TELNO\13]
'--------------------------------------------------------------------------
Serout2 TX_PIC,BAUD,["ATD",STR TELNO\13,";",13]

Herşey  için teşekkürler.
ALLAH razı olsun sizden.
Saygılar.

Powered by EzPortal