ajudar a interrompre rs232, si us plau

B

bacocio

Guest
hola amics, segueixo de llarg en aquest fòrum. perdó per la meva Anglès no és molt bona. Tinc un programa amb el missatge arquitecte rebre a través d'un mòdem GSM (Nokia 3220). No tinc problemes per enviar els textos, el problema és en la recepció d'ells. El que faig és per captar i mostrar en una pantalla LCD com la primera part. Després m'encarrego de fer la codificació. Puc deixar el programa si puc ajudar. Gràcies. [Sintaxi = asm] # include # utilitzeu delay (clock = 20.000.000) # Fuses XT, nowdt, nobrownout, nolvp, NOPROTECT / / Fusibles # utilitzeu rs232 (baud = 9600, bits = 8, paritat = N, xmit = PIN_C6, VN = PIN_C7) # define VERITABLE use_portb_lcd # include "lcd420.c" # include # byte TRISA = 0x85 # byte PORTA = 0x05 int i; caràcters dada [10] = {0}; char c; # INT_RDA buit Missatge () {disable_interrupts (int_rda), i = 0; if (kbhit ()) {while (C! = '\ r') {c = getc (); dada = c; i + +;}} enable_interrupts (int_rda);} void muestra_lcd (void) {lcd_putc ("\ f"); for (i = 0; i
 
Hola amic si us plau revisi el format de la Theta missatge està sent received.It no és l'habitual way.We havia treballat en la captació del missatge i mostrar a la pantalla LCD amb tauleta per al braç blau.
 
el format del missatge és AT comanda té la següent estructura. \ 0A + CMT: "569 xxxxxxxx", "07.11.11 ,00:23:32-16" \ 0D \ 0AHello \ 0D La simulació es realitza en Proteus rep ja sigui la primera cadena, però en el moment de l'escriptura la segona cadena, el programa es bloqueja. Crec que espera a la interrupció. Si us plau ajuda, no puc pensar en com resoldre aquest problema.
 
Intenta no control de '\ r' En lloc donar al seu propi trosset d'acabar el missatge i incloure el mateix en el seu missatge com el senyal de '$' while (C! ='$') {c = getc ();. Dada [i ] = c; i + +;..} i en el missatge inclou $ al final "hola $" D'aquesta manera o `ll be la captura de tot el missatge fins a $ sign.But si voleu filtrar sol text a continuació, intenta utilitzar al bits de noe per iniciar la captura i un '*' end.like per a l'arrencada i '$' al final, i incloure el mateix en el missatge. La part de la captura es pot fer utilitzant a continuació el codi de la interrupció. while (C! ='*'); while (C! ='$') {c = getc (); dada = c; i + +;}
 

Welcome to EDABoard.com

Sponsor

Back
Top