SASKARNE ATMEGA 32 ar GSM mobilo

D

dadda007

Guest
Hi all,

Es esmu saskaras ar grūtībām dekodēšana SMS no GSM ar savu mikro-kontrolieri.Pēc sūtīšanas gadījumā AT komandas es cenšos atšifrēt PDU mode formātu SMS.Ar šādu kodu i am lasījums septīto vietu GSM mobilo atmiņu komplektu un dekodēšana PDU, lai iegūtu ziņojumu "Hi", ar iepakoto PDU kodu "C834", es gatavojos nodot 0x0f vērtību PORTA.Tomēr šī ideja, šķiet, nav darba ....gremoklis someone help plz??

Kods:# include <avr/io.h>

# include <util/delay.h>anulēts init_usart (spēkā neesošs) / * lai initialse USART nosūtīšanai * /

anulēts data_send (int); / * sūtīt dati * /

int data_rxr (spēkā neesošs) / * saņemt dati * /int main (anulēts)(int c [13] = ( ' "," T',' ',' C', 'P', 'M', 'S', 0x3d, 0x22, 'M', 'E', 0x22, 0x0d ); / *, lai izvēlētos memeory kā mobilās iekārtas * /

int c1 [10] = ( ' "," T',' ',' C', 'M', 'G', 'F', 0x3d, 0x30, 0x0d); / * jāizvēlas sms formāts PDU format * /

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

int ch [10] = ( ' "," T',' ',' C', 'M', 'G', 'R', 0x3d, 0x37, 0x0d), i, j [29], karoga ; / * lai izlasītu 7 vieta atmiņā * /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 ) / * saņemt PDU virkne, kas ir 29 baitu garš * /

j = data_rxr ();if ((j [27] == d [0 ])&&( j [28] == d [1])) / * pārbaudīt, 28 un 29 vieta, ti, pēdējās 2 vietas ir vienādi iepakota formāts Hi vai * /(flag = 1;

break;)citādi

flag = 0;if (flag == 1) / * Gadījumā, ja patiesa stāvokļa nosūtīt 0x0f uz PORTA * /

PORTA = 0x0f;citādi

PORTA = 0x00;)return 0;)anulēts init_usart (spēkā neesošs)(/ / UBRRH = 0x00;

UBRRL = 0x33;

/ / UCSRC = 0x86;

UCSRB = 0x18;

/ / UCSRA = 0x00;)anulēts data_send (INT)(while (! (UCSRA & (1 <<Ūdri)));UDR =;

PORTB = 0x0f;)
int data_rxr (spēkā neesošs)(int;while (! (UCSRA & (1 <<RXC)));= UDR;

PORTB = 0x0f;atgriezties;)
 

Welcome to EDABoard.com

Sponsor

Back
Top