新手入门
- 积分
- 26
- 金钱
- 26
- 注册时间
- 2015-7-17
- 在线时间
- 0 小时
|
5金钱
使用gbk转unicode转换工具可以转换中文成功,而用原子程序转换时却出现一串0,我用串口调试助手打印要发送的内容,显示一串0,发送到手机上也是一串0,但手机上总是少一位。
void sim900a_init(void)
{
delay_ms(10);
if(sim900a_send_cmd("AT\r\n","OK",100)==0)//??????AT?? ?????,?????AT OK
{
if(sim900a_send_cmd("ATE0\r\n","OK",100)==0)//???
{
if(sim900a_send_cmd("AT+CMGF=1\r\n","OK",100))
{
sim900a_send_cmd("AT+CSMP=17,167,2,25","OK",200); //??????×?·???????
sim900a_send_cmd("AT+CSCS=\"UCS2\"\r\n","OK",100)==0;//??????
sim900a_send_cmd("AT+CNMI=2,1\r\n","OK",100);//??????
}
}
}
}
void sim900a_sms_send_test(void)
{
const u8* send="×???????";
//const u8* send="795D 4F60 6210 529F";
// const u8* send="00360030004100380035003900370044";
u8 *p1;
// u8 *p,*p1,*p2;
printf("×?±?1");
p1=mymalloc(SRAMIN,300);//?ê??300??×?????????,??????·???????unicode×?·??®
//sim900a_unigbk_exchange((u8*)send,p1,1);//????????unicode???
sim900a_init();
// if(sim900a_send_cmd("AT+CMGS=\"15623702494\"\r\n",">",200)==0);//??????????
//{
printf("×?±?2");
delay_ms(500);
sim900a_unigbk_exchange((u8*)send,p1,1);//????????unicode???.
printf("%s",p1);
printf("×?±?3");
if(sim900a_send_cmd("AT+CMGS=\"00310035003600320033003700300032003400390034\"\r\n",">",200)==0) //??????+????
{
printf("×?±?4");
LED1=!LED1;
u2_printf( (char*)p1); //??????GSM??
if(sim900a_send_cmd((u8*)0X1A,"+CMGS:",1000)==0)//?????,??????(????10?,????????,???????)
{
printf("×?±?5");
LED1=!LED1;
}
USART2_RX_STA=0;
}
myfree(SRAMIN,p1);
// }
}
|
|