+ Post New Thread
Results 1 to 2 of 2
  1. #1
    Newbie level 3
    Points: 42, Level: 1

    Join Date
    Nov 2017
    Posts
    5
    Helped
    0 / 0
    Points
    42
    Level
    1

    Problem in receiving sms from GSM module

    Hey guy i make this piece of code to test the sending and receiving of sms via this gsm module

    It is LINKSPIRT a6390 http://linksprite.com/wiki/index.php...ld_for_Arduino

    the code i put is the following to read the received sms

    Code C - [expand]
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    
    //###########################SETTING LCD MODULE###################################################
    // LCD module connections
    sbit LCD_RS at RB5_bit;
    sbit LCD_EN at RB4_bit;
    sbit LCD_D4 at RB0_bit;
    sbit LCD_D5 at RB1_bit;
    sbit LCD_D6 at RB2_bit;
    sbit LCD_D7 at RB3_bit;
     
    sbit LCD_RS_Direction at TRISB5_bit;
    sbit LCD_EN_Direction at TRISB4_bit;
    sbit LCD_D4_Direction at TRISB0_bit;
    sbit LCD_D5_Direction at TRISB1_bit;
    sbit LCD_D6_Direction at TRISB2_bit;
    sbit LCD_D7_Direction at TRISB3_bit;
    // End LCD module connections
    //##############################################################################
    //############################################################################################
    char initializeGsmModule[] = "AT";
    char noEcho[] = "ATE0";
    char textMode[] = "AT+CMGF=1";
    char charMode[] = "AT+CSCS="GSM"";
    char setParametersOfCharMode[] ="AT+CSMP=17,167,0,0";
    char sendSMSToThisMobileNumber[]="AT+CMGS="+201124247733"";
    char sendAnyReceivedSmsCommand[]="AT+CNMI=2,2,0,0,0";
    char deleteAllSmsCommand[]="AT+CMGD=1,4";
    char changeGSMBaudRateCommand[]="AT+IPR=9600";
    char saveCurrentConfigurationInEEPROMCommand[]="AT&W";
    char sendAllReceivedSmsCommand[]="AT+CMGL="ALL"";
    char testSMSToSend[]="Congratulations Sir , i am not a real phone . I am ur new product smartX from my creator";
    char ctrlPlusZ=0x1A;
    char enter=0x0D;
    char receivedSmS[50];
    char receivedSmSDigitchar[]=".......";
    char *receivedDigit;
    unsigned int i=0;
    unsigned int receivedSmSDigitint=0;
    unsigned int toggledDoneFlag=0;
     
    //######################################################################################################################################
    //##################################### Read Data from GSM Module Using UART Protocol ################################################################################
    void ReceiveSmsString(char *stringPointer3)
    {
     while(UART1_Data_Ready()==1)
     {
      *stringPointer3=UART1_Read();
      stringPointer3++;
     }
     //Delay_ms(1000);
    }
    //######################################################################################################################################
    //#####################################Send Data to GSM Module Using UART Protocol ################################################################################
    void SendStringToModem1(char *stringPointer4)
    {
     while(UART1_Tx_Idle()==0){}
     while(*stringPointer4)UART1_Write(*stringPointer4++);
     UART1_Write(enter);
     Delay_ms(100);
    }
    //######################################################################################################################################
    void SendStringToModem2(char *stringPointer5)
    {
     while(UART1_Tx_Idle()==0){}
     while(*stringPointer5)UART1_Write(*stringPointer5++);
     UART1_Write(ctrlPlusZ);
     Delay_ms(100);
    }
    //###############################################################################
    //###############################################################################
     
    void main()
    {
     
     ADCON1=0b00001111;
     CMCON =0b00000111;
    //.........................
     TRISA=0;
     TRISD=0;
    //.........................
     TRISE.B0=0;
     TRISE.B1=0;
     TRISE.B2=0;
    //.........................
     TRISC.B3=1;
     TRISC.B4=1;
    //.........................
     LATA=0;
     LATD=0;
     LATE.B0=0;
     LATE.B1=0;
     LATE.B2=0;
    //.........................
     UART1_Init(115200);
     Lcd_Init();
     delay_ms(500); 
     SendStringToModem1(initializeGsmModule);
     
     SendStringToModem1(noEcho);
     
     SendStringToModem1(textMode);
     
     SendStringToModem1(charMode);
     
     SendStringToModem1(setParametersOfCharMode);
     
     SendStringToModem1(sendAnyReceivedSmsCommand);
     
     SendStringToModem1(saveCurrentConfigurationInEEPROMCommand);
     
     SendStringToModem1(deleteAllSmsCommand);
     Delay_ms(1000); 
     while(1)
      { 
     
     
        ReceiveSmsString(receivedSmS);
     
        Lcd_Out(1,1,receivedSmS);
     
      }
    }

    - - - Updated - - -

    Just for ur knowledge i test the part of the code who is responsible for sending sms to a phone number and it works and send a valid sms to the give phone number , so where is the wrong stuff in receiving the sms ?

    •   Alt30th November 2017, 15:09

      advertising

        
       

  2. #2
    Super Moderator
    Points: 24,714, Level: 38
    andre_teprom's Avatar
    Join Date
    Nov 2006
    Location
    Brazil
    Posts
    7,432
    Helped
    925 / 925
    Points
    24,714
    Level
    38
    Blog Entries
    5

    Re: Problem in receiving sms from GSM module

    Quote Originally Posted by ubuntuman View Post
    i test the part of the code who is responsible for sending sms to a phone number and it works and send a valid sms to the give phone number , so where is the wrong stuff in receiving the sms ?
    Taking a glance at your code, it seemed that continuously calling the LCD routine in the data-receiving loop could result in data loss.
    --------------------------------------------------------------------------------------------------
    Part of the world that you live in, You are the part that you're giving ( Renaissance )



--[[ ]]--