Seri İletişim Sorunu - Python

Başlatan vale9, 23 Aralık 2014, 17:53:27

vale9

Merhaba,

PIC16F648A ve GL865 GSM modem arasında 2400 baud 8N1 haberleştirme yapıyorum.
Donanımsal bir sorun yok, PIC'ten modeme AT komutları sorunsuz gidiyor ve cevapları yine normal geliyor.

Soruna gelince; Modem içerisine Python kod yüklüyorum ve PIC ile haberleşirken SER modülünü kullanıyorum.
Modemden PIC'e datalar sorunsuz gelmesine rağmen, PIC'ten modeme data gitmiyor veya Python script bunu algılamıyor.

PIC kodları:


BAUD 
VAR WORD
BAUD
=396            ' 2400 BAUD

WAIT_CONNECTED:

    SERIN2 RX, BAUD, 60000, WAIT_CONNECTED, [WAIT ("CONNECTED")]
    
    ;blink routine                            
 
;---------MAIN_LOOP------------

MAIN_LOOP:                        
     
    SEROUT2 TX, BAUD, ["DEN1",13,10]
    PAUSE 100

WAIT_SENT:

    SERIN2 RX, BAUD, 60000, WAIT_SENT, [WAIT ("SUCCESS")]

    ;blink2 routine

GOTO MAIN_LOOP




Python kodları:


import MDM
import MOD
import SER

tx
="at#cmuxscr=0\r"
MDM.send(tx,0)


MDM.send('AT+IPR=2400\r',2)
MOD.sleep(10)
SER.set_speed('2400','8N1')
MOD.sleep(10)
MDM.send('AT&K0\r',2)
MOD.sleep(10)

##########################################
# User defined settings
#########################################
SMSTO '1234567890'                 # recipient number for the SMS
SMSTEXT 'SERTest-28: '     # SMS text
##########################################
# End of User defined settings
##########################################

while (== 1):
    
MDM.send('AT+CREG?\r',2)
    
res MDM.receive(5)
    if (
res.find('0,1') != -1) or (res.find('1,1') != -1) or (res.find('0,5') != -1) or (res.find('1,5') != -1):
        break
    else:
        
MOD.sleep(10)

SER.send('CONNECTED!\r\n')
SER.receive(1000)

MDM.send('AT+CMGF=1\r'2)
res MDM.receive(5)

MOD.sleep(5)
MDM.send('AT+CMGS="' SMSTO '"\r'2)
res MDM.receive(10)

MDM.send(SMSTEXT2)
MDM.send(x2)
MDM.sendbyte(0x1A2)

SER.send('SUCCESS\r\n')



Kodda görüldüğü gibi SMS içerisinde SMS Textten sonra PIC'ten gelen datayı SMS olarak göndermesi lazım ama SMS'te sadece SERTest-28: geliyor!





Hayat 1'ler ve 0'lardan ibarettir.