|
请高手看看我的问题在哪里,顽固的515错!
SIM300初始化后发TEXT短信没问题,但发PDU短信则返回515错
该错的解释是:在初始化期间或在指令执行过程当中GSM MODEM又接受新的指令,将会出现此错误。您必须等到初始化完成或指令执行完毕。
程序如下
char Init_SIM300( void )
{
static char *n;
n=AT_CMD_Reply( "AT\r", "OK\r\n" ); //发AT回车变更波特率9600 应返回OK
Sim300_TXD( "AT+CSCLK=0\r" );
delay_500ms();
//n=AT_CMD_Reply( "AT+CSCS=\"GSM\"\r", "OK\r\n" );
n=AT_CMD_Reply( "AT+CSQ\r", "CSQ" ); //信号质量查询
n=AT_CMD_Reply( "AT+CREG?\r", "+CREG: 0,1\r\n" ); //网络注_册信息CREG:0,1已注_册
//AT+CNMI=<mode>,<mt>,<bm>,<ds>,<bfr>
//mode=0 先将通知缓存起来,再按照<mt>的值进行发送(mt=0)故不通知TE
//mt=0 接受的短消息存储到默认的内存位置(包括class 3)不通知TE
//bm=0 小区广播不通知
//ds=0 状态报告不通知
//bfr=1 始终为1
AT_CMD_Reply( "AT+CNMI=2,2,0,1,0\r", "OK" ); //新消息提示设置;
return 4; //返回码=4,连接成功
}
void Sim300_TXD( char *tx_str )
{
char i,len;
len = (char)strlen(tx_str);
i = 0;
while( i<len )
{
SC550_TX_buf[TX_IN_FIFO_p] = *(tx_str+i);
TX_IN_FIFO_p = ++TX_IN_FIFO_p & (TX_BUF_LEN-1);
i++;
}
_NOP();
_NOP();
_NOP();
_NOP();
}
char* AT_CMD_Reply( char *cmd, char *ans )
{
static char *n;
uchar len;
Sim300_TXD( cmd );
delay_1s();
len = RXBUF_to_PACKBUF();
n = PACK_delay_Comp( len, ans ); // 每秒查找比较1次 找到即退出 否则持续4秒
return n; //n=0 没找到,否则n值为字串首址
}
/*==============================================================================
* 在定时器0中断服务程序
*=============================================================================*/
#pragma interrupt_handler timer0_ovf_isr:17
void timer0_ovf_isr(void)
/*定时器0(500uS)中断服务程序功能
*其一:
*如果16C550发送队列(256字节)的入队指针与出队指针不等,说明有新数据要发送,
*服务程序自SC550_TX_buf向THR写入数据
*/
{
unsigned char c;
CLI();
if( TX_OUT_FIFO_p != TX_IN_FIFO_p )
// if( (SC550_LSR & 0X20)==0x20 ||(SC550_LSR & 0x10)== 0x10 )
if( (SC550_LSR & 0X20)==0x20 )
{
c = SC550_TX_buf[ TX_OUT_FIFO_p ];
if( c == 0x1A ) {
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
}
SC550_THR = c;
TX_OUT_FIFO_p = ++ TX_OUT_FIFO_p & (TX_BUF_LEN-1);
}
TCNT0 = 0x8D; //reload counter value
SEI();
}
PUD发送缓冲区映像
PUD发送后接收缓冲区映像
与SIM300的接口芯片为16C550 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|