<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Problem with interfacing 8051 and sim900</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/32501/problem-with-interfacing-8051-and-sim900</link><description> 
I am interfacing 8051 and sim900 for my project purpose. I am able
to send message from my sim900 when interfaced with PC in
hyperterminal using AT Commands. After programming using Keil in 8051
board i am able to get the same AT commands in hyperterminal</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: Problem with interfacing 8051 and sim900</title><link>https://community.arm.com/thread/63389?ContentTypeID=1</link><pubDate>Wed, 21 Jun 2017 02:38:20 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:ba4d418f-fced-48fa-97e3-c447f403dde7</guid><dc:creator>nikhil bakori</dc:creator><description>&lt;p&gt;&lt;p&gt;
sir,&lt;/p&gt;

&lt;p&gt;
have you got the solution?&lt;br /&gt;
i am facing same problem.&lt;br /&gt;
can you help me out?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem with interfacing 8051 and sim900</title><link>https://community.arm.com/thread/108032?ContentTypeID=1</link><pubDate>Mon, 05 Jan 2015 17:00:53 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:f2943f83-4c04-4769-bd82-60fc9d411201</guid><dc:creator>edPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
It&amp;#39;s always preferable to used named constants (enum or #define)
instead of variables to avoid having the compiler creating extra auto
variables.&lt;/p&gt;

&lt;pre&gt;
        BYTE Enter=13;
        BYTE double_quote=34;
        BYTE Ctrlz=26;
&lt;/pre&gt;

&lt;p&gt;
And as noted - printf() is quote good at handling the full range
of non-nil characters.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem with interfacing 8051 and sim900</title><link>https://community.arm.com/thread/93305?ContentTypeID=1</link><pubDate>Mon, 05 Jan 2015 16:42:59 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:a4b6fbc7-ea09-42a3-9bcb-fc187534fa71</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
Have you not heard of &amp;quot;&lt;b&gt;\r&lt;/b&gt;&amp;quot;, then?&lt;/p&gt;

&lt;p&gt;
&lt;a href="http://en.wikipedia.org/wiki/Escape_sequences_in_C"&gt;en.wikipedia.org/.../Escape_sequences_in_C&lt;/a&gt;&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem with interfacing 8051 and sim900</title><link>https://community.arm.com/thread/63381?ContentTypeID=1</link><pubDate>Mon, 05 Jan 2015 10:56:06 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:c9fc7ea5-40be-48f2-9bdd-24a437b242c0</guid><dc:creator>mohammad bidmeshki</dc:creator><description>&lt;p&gt;&lt;p&gt;
this code is an easy sample that i wrote for LPC2368 but it is
independent from hardware.&lt;/p&gt;

&lt;pre&gt;
/* turning on SIM900 */
/******************************************************************************
** Function name:               GSM_ON
**
** Descriptions:                turning on SIM900.
** parameters:                  None
** Returned value:              None
**
******************************************************************************/
BYTE GSM_on (void)
{
        BYTE get_temp[80]={0};
        BYTE i,j=0;
        BYTE Enter = 13;
        FIO1SET |= GSM_POWER;
        delayMs (1500);
        FIO1CLR |= GSM_POWER;
        delayMs(4000);
//      for (i = 0;i &amp;lt; 75;i++)                                                       // SIM900 after powering On Get lots of info about itself -_-&amp;#39;
//      {
//              get_temp[i] = getkey();
//              if( ( get_temp[i] == 0x0D ) &amp;amp;&amp;amp; (i &amp;gt; 58 ) )
//                      break;
//      }
        f_uart = 2;
        printf(&amp;quot;AT+CMGD=1,4%c&amp;quot;,Enter);                       // for deleting all previous messages from SIM Memory
//      for( i = 0;i &amp;lt; 20;i++ )
//      {
//              get_temp[i] = getkey();
//              if( ( get_temp[i] == 0x0D ) &amp;amp;&amp;amp; ( i &amp;gt; 15 ) )
//                      break;
//        j = i;
//      }
        if( get_temp[j] == &amp;#39;K&amp;#39; )                                           // cheking recieved OK from SIM900
        {
           LCD_gotoxy( 0,1 );LCD_cls();
           LCD_puts( &amp;quot;GSM Ready&amp;quot; );delayMs(2000);
           return ( TRUE );
        }
  return ( FALSE );
}

/******************************************************************************
** Function name:               send_SMS
**
** Descriptions:                Sending SMS to desired Phone Number.
** parameters:                  None
** Returned value:              None
**
******************************************************************************/

BYTE send_SMS ( BYTE *phone_number , BYTE *text )
{
        BYTE Enter=13;
        BYTE double_quote=34;
        BYTE Ctrlz=26;
        LCD_gotoxy(0,0);
        LCD_puts(&amp;quot;Sending SMS...&amp;quot;);
        f_uart = 2;
    printf(&amp;quot;AT+CMGF=1%c&amp;quot;,Enter);                              // Selecting &amp;quot;Text&amp;quot; Format for sending Message
    delayMs(500);
        f_uart = 2;
    printf(&amp;quot;at+cmgs=%c0%s%c%c&amp;quot;,double_quote,phone_number,double_quote,Enter); //give the phone number
    delayMs(500);
        f_uart = 2;
    printf(&amp;quot;%s%s%c&amp;quot;,sms_warning,text,Ctrlz);    // sending a message
    delayMs(500);
        LCD_gotoxy(0,0);
        LCD_puts(&amp;quot;message sent  &amp;quot;);
        interrupt_f |= RTC_F;
        return( TRUE );
}
&lt;/pre&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem with interfacing 8051 and sim900</title><link>https://community.arm.com/thread/82347?ContentTypeID=1</link><pubDate>Mon, 05 Jan 2015 10:13:10 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:d107ee99-0f60-4fb3-914d-84e3e67d1ecc</guid><dc:creator>Abu Mathews</dc:creator><description>&lt;p&gt;&lt;p&gt;
I had checked that too but still i am not able to make it up.
Please do help me with the necessary c coding for interfacing sim900
with 8051&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem with interfacing 8051 and sim900</title><link>https://community.arm.com/thread/63376?ContentTypeID=1</link><pubDate>Mon, 05 Jan 2015 07:57:27 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:a70b8541-8cb9-48f1-89bd-ca2c8942a345</guid><dc:creator>Westonsupermare Pier</dc:creator><description>&lt;p&gt;&lt;p&gt;
This is generally a case of getting the right pins wired up, using
the right voltages, and the right baud rate.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>