Liitännät ATMEGA 32 ja GSM

D

dadda007

Guest
Hei kaikki,

Olen edessään vaikea dekoodaus tekstiviesti GSM-minun mikro-ohjain.Lähettämisen jälkeen tarvittaessa AT-komennot yritän purkaa PDU tilan muodon SMS.Kun seuraava koodi Luen seitsemäs sijainti GSM-muisti asettaa ja dekoodaus ongelmakäytön poimia viestin "Hei", on pakattu PDU koodi "C834", aion arvo 0x0f on PORTA.Mutta tämä ajatus ei näytä toimivan ....CUD joku auttaa plz????

Koodi:# include <avr/io.h>

# include <util/delay.h>void init_usart (void) / * ja initialse USART toimittamista * /

void data_send (int), / * lähettää tiedot * /

Int data_rxr (void) / * saada tietoja * /int main (void)(int c [13] = ( 'A', 'T',' ',' C', 'P', 'M', 'S', 0x3d, 0x22, 'M', 'E', 0x22, 0x0d ), / * valitse memeory kuin liikkuva kalusto * /

Int C1 [10] = ( 'A', 'T',' ',' C "," M "," G "," F ", 0x3d, 0x30, 0x0d), / * Valitse muoto SMS kuin PDU format * /

int d [2] = (0xC8, 0x34);

INT CH [10] = ( 'A', 'T',' ',' C', 'M', 'G', 'R', 0x3d, 0x37, 0x0d), i, j [29], lippu ; / * lukea 7 muistipaikka * /DDRA = 0x0f;

PORTA = 0x00;init_usart ();while (1)(for (i = 0, i <13; i )

data_send (c );_delay_ms (100);for (i = 0, i <10; i )

data_send (C1 );_delay_ms (100);for (i = 0, i <10; i )

data_send (CH );for (i = 0, i <29; i ) / * saavat PDU merkkijono, joka on 29 tavua pitkä * /

j = data_rxr ();if ((j [27] == d [0 ])&&( j [28] == d [1])) / * Tarkista onko 28 ja 29 sijainti, eli viimeisen 2 paikat ovat yhtä pakattu muoto Hi tai ei * /(flag = 1;

break;)muuten

flag = 0;if (flag == 1) / * jos kyseessä on todellinen edellytys Lähetä 0x0f on PORTA * /

PORTA = 0x0f;muuten

PORTA = 0x00;)return 0;)void init_usart (void)(/ / UBRRH = 0x00;

UBRRL = 0x33;

/ / UCSRC = 0x86;

UCSRB = 0x18;

/ / UCSRA = 0x00;)void data_send (Int)(while (! (UCSRA & (1 <<UDRE)));UDR =;

PORTB = 0x0f;)
Int data_rxr (void)(int a;while (! (UCSRA & (1 <<RXC)));= UDR;

PORTB = 0x0f;return;)
 

Welcome to EDABoard.com

Sponsor

Back
Top